diff --git a/configuration.nix b/configuration.nix index 08b0f9b6..74790128 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,7 +59,6 @@ isMaximal: { python.enable = isMaximal; dart.enable = isMaximal; bash.enable = isMaximal; - r.enable = isMaximal; tailwind.enable = isMaximal; typst.enable = isMaximal; clang = { diff --git a/docs/default.nix b/docs/default.nix index 48cff563..cce02b1d 100644 --- a/docs/default.nix +++ b/docs/default.nix @@ -74,7 +74,7 @@ (lib.removePrefix (toString ../.)) (lib.removePrefix "/") (x: { - url = "https://github.com/NotAShelf/nvf/blob/main/${x}"; + url = "https://github.com/NotAShelf/nvf/blob/main/${decl}"; name = ""; }) ] diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index 2d5d1f4d..8852066a 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -131,7 +131,6 @@ everyone. plugin's options can now be found under `indentBlankline.setupOpts`, the previous iteration of the module also included out of place/broken options, which have been removed for the time being. These are: - - `listChar` - this was already unused - `fillChar` - this had nothing to do with the plugin, please configure it yourself by adding `vim.opt.listchars:append({ space = '' })` to your @@ -217,7 +216,3 @@ everyone. - Telescope: - Fixed `project-nvim` command and keybinding - Added default ikeybind/command for `Telescope resume` (`fr`) - -[Soliprem](https://github.com/Soliprem) - -- Add LSP and Treesitter support for R under `vim.languages.R`. diff --git a/flake.lock b/flake.lock index 91fc5060..377c0847 100644 --- a/flake.lock +++ b/flake.lock @@ -863,11 +863,11 @@ "plugin-neo-tree-nvim": { "flake": false, "locked": { - "lastModified": 1726542367, - "narHash": "sha256-Lqt0KJNT9HmpJwZoWChYeVBrDWhscRe8COqVCwgcTwk=", + "lastModified": 1713050882, + "narHash": "sha256-cZwOVpdMT0NCtp6Ha592QA2RzKVS6LhXXcjfDBCQ+0k=", "owner": "nvim-neo-tree", "repo": "neo-tree.nvim", - "rev": "a77af2e764c5ed4038d27d1c463fa49cd4794e07", + "rev": "22e566aeb075c94f670f34077e05ba95190dfb4a", "type": "github" }, "original": { @@ -1280,11 +1280,11 @@ "plugin-nvim-treesitter-context": { "flake": false, "locked": { - "lastModified": 1726947805, - "narHash": "sha256-5oN/vyhSqDqjLEzECj01A7A+Yq7U1H1HXLbzkC1Ljqw=", + "lastModified": 1716388265, + "narHash": "sha256-EY5Si6t7LXcxOP3ubGAAMd3lgbeaCOCIybSKi1Ucx98=", "owner": "nvim-treesitter", "repo": "nvim-treesitter-context", - "rev": "3d5390c49e3f8fe457b376df2a49aa39d75b7911", + "rev": "f62bfe19e0fbc13ae95649dfb3cf22f4ff85b683", "type": "github" }, "original": { diff --git a/modules/modules.nix b/modules/modules.nix index 1204e43f..195652df 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -8,7 +8,7 @@ # The core neovim modules. # Contains configuration for core neovim features # such as spellchecking, mappings, and the init script (init.vim). - neovim = map (p: ./neovim + "/${p}") [ + neovim = map (p: "${./neovim}/${p}") [ "init" "mappings" ]; @@ -16,7 +16,7 @@ # Individual plugin modules, separated by the type of plugin. # While adding a new type, you must make sure your type is # included in the list below. - plugins = map (p: ./plugins + "/${p}") [ + plugins = map (p: "${./plugins}/${p}") [ "assistant" "autopairs" "comments" @@ -46,7 +46,7 @@ # The neovim wrapper, used to build a wrapped neovim package # using the configuration passed in `neovim` and `plugins` modules. - wrapper = map (p: ./wrapper + "/${p}") [ + wrapper = map (p: "${./wrapper}/${p}") [ "build" "rc" "warnings" @@ -54,7 +54,7 @@ # Extra modules, such as deprecation warnings # or renames in one place. - extra = map (p: ./extra + "/${p}") [ + extra = map (p: "${./extra}/${p}") [ "deprecations.nix" ]; in diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index 28c1fd8f..e86a521b 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -17,7 +17,6 @@ in { ./ocaml.nix ./php.nix ./python.nix - ./r.nix ./rust.nix ./sql.nix ./svelte.nix diff --git a/modules/plugins/languages/r.nix b/modules/plugins/languages/r.nix deleted file mode 100644 index 27d7c994..00000000 --- a/modules/plugins/languages/r.nix +++ /dev/null @@ -1,78 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: let - inherit (builtins) attrNames; - inherit (lib.options) mkEnableOption mkOption literalExpression; - inherit (lib.modules) mkIf mkMerge; - inherit (lib.lists) isList; - inherit (lib.types) enum either listOf package str; - inherit (lib.nvim.lua) expToLua; - inherit (lib.nvim.types) mkGrammarOption; - - cfg = config.vim.languages.r; - - r-with-languageserver = pkgs.rWrapper.override { - packages = with pkgs.rPackages; [languageserver]; - }; - - defaultServer = "r_language_server"; - servers = { - r_language_server = { - package = pkgs.writeShellScriptBin "r_lsp" '' - ${r-with-languageserver}/bin/R --slave -e "languageserver::run()" - ''; - lspConfig = '' - lspconfig.r_language_server.setup{ - capabilities = capabilities; - on_attach = default_on_attach; - cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{"${lib.getExe cfg.lsp.package}"}'' - } - } - ''; - }; - }; -in { - options.vim.languages.r = { - enable = mkEnableOption "R language support"; - - treesitter = { - enable = mkEnableOption "R treesitter" // {default = config.vim.languages.enableTreesitter;}; - package = mkGrammarOption pkgs "r"; - }; - - lsp = { - enable = mkEnableOption "R LSP support" // {default = config.vim.languages.enableLSP;}; - - server = mkOption { - description = "R LSP server to use"; - type = enum (attrNames servers); - default = defaultServer; - }; - - package = mkOption { - description = "R LSP server package, or the command to run as a list of strings"; - example = literalExpression "[ (lib.getExe pkgs.jdt-language-server) \"-data\" \"~/.cache/jdtls/workspace\" ]"; - type = either package (listOf str); - default = servers.${cfg.lsp.server}.package; - }; - }; - }; - - config = mkIf cfg.enable (mkMerge [ - (mkIf cfg.treesitter.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.package]; - }) - - (mkIf cfg.lsp.enable { - vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.r-lsp = servers.${cfg.lsp.server}.lspConfig; - }) - ]); -}