diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 96d04411..563a9f51 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -303,6 +303,8 @@ - Added `languages.jq`. Supports highlighting, formatting and lsp. +- Extend `languages.asm` to support more filetypes out of the box. + - Didn't Add [`syntax-gaslighting`](https://github.com/NotAShelf/syntax-gaslighting.nvim), you're crazy. diff --git a/modules/plugins/languages/asm.nix b/modules/plugins/languages/asm.nix index eccc91e7..01b21001 100644 --- a/modules/plugins/languages/asm.nix +++ b/modules/plugins/languages/asm.nix @@ -18,7 +18,7 @@ asm-lsp = { enable = true; cmd = [(getExe pkgs.asm-lsp)]; - filetypes = ["asm" "vmasm"]; + filetypes = ["asm" "nasm" "masm" "vmasm" "fasm" "tasm" "tiasm" "asm68k" "asm8300"]; root_markers = [".asm-lsp.toml" ".git"]; }; }; @@ -33,7 +33,9 @@ in { default = config.vim.languages.enableTreesitter; defaultText = literalExpression "config.vim.languages.enableTreesitter"; }; - package = mkGrammarOption pkgs "asm"; + packageASM = mkGrammarOption pkgs "asm"; + packageNASM = mkGrammarOption pkgs "nasm"; + packagePicoASM = mkGrammarOption pkgs "picoasm"; }; lsp = { @@ -53,7 +55,11 @@ in { config = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.package]; + vim.treesitter.grammars = [ + cfg.treesitter.packageASM + cfg.treesitter.packageNASM + cfg.treesitter.packagePicoASM + ]; }) (mkIf cfg.lsp.enable {