From 77e7f8da3686f2931ee3ea6a714cb93e2589cb8f Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 6 Mar 2026 17:42:04 +0100 Subject: [PATCH] language/fluent: init --- configuration.nix | 1 + docs/manual/release-notes/rl-0.9.md | 3 +++ modules/plugins/languages/default.nix | 1 + modules/plugins/languages/fluent.nix | 34 +++++++++++++++++++++++++++ npins/sources.json | 13 ++++++++++ 5 files changed, 52 insertions(+) create mode 100644 modules/plugins/languages/fluent.nix diff --git a/configuration.nix b/configuration.nix index f82feb0a3..d05946743 100644 --- a/configuration.nix +++ b/configuration.nix @@ -102,6 +102,7 @@ isMaximal: { svelte.enable = false; tera.enable = false; twig.enable = false; + fluent.enable = false; # Nim LSP is broken on Darwin and therefore # should be disabled by default. Users may still enable diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 90c59b3ec..a7d440243 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -222,6 +222,9 @@ - Fix `languages.hcl` init, depending on `comment-nvim` by checking if it is enabled. Fixes a crash (#1350). +- Add `languages.fluent` using the official plugin. This only provides + highlighting. + - Added Debugging support to `languages.php`. - Added Formatting support to `languages.php` via diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index cb105b8d0..ee652d2da 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -59,6 +59,7 @@ in { ./just.nix ./make.nix ./xml.nix + ./fluent.nix # This is now a hard deprecation. (mkRenamedOptionModule ["vim" "languages" "enableLSP"] ["vim" "lsp" "enable"]) diff --git a/modules/plugins/languages/fluent.nix b/modules/plugins/languages/fluent.nix new file mode 100644 index 000000000..631ba590f --- /dev/null +++ b/modules/plugins/languages/fluent.nix @@ -0,0 +1,34 @@ +{ + config, + lib, + ... +}: let + inherit (lib.options) mkEnableOption; + inherit (lib.modules) mkIf; + + cfg = config.vim.languages.fluent; +in { + options.vim.languages.fluent = { + enable = mkEnableOption "Fluent language support"; + }; + + config = mkIf cfg.enable { + vim = { + lazy.plugins.fluent-nvim = { + package = "fluent-nvim"; + ft = ["fluent"]; + }; + autocmds = [ + { + event = [ + "BufRead" + "BufNewFile" + ]; + pattern = ["*.ftl"]; + desc = "Set fluent filetype"; + command = "set filetype=fluent"; + } + ]; + }; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 2fe8b9046..10972aa2a 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -539,6 +539,19 @@ "url": "https://github.com/folke/flash.nvim/archive/b68bda044d68e4026c4e1ec6df3c5afd7eb8e341.tar.gz", "hash": "sha256-7isgZdploAGK5l8TxVxL277CH6kPbcBnMwfZeqPHjq4=" }, + "fluent-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "projectfluent", + "repo": "fluent.vim" + }, + "branch": "master", + "submodules": false, + "revision": "94c1ef622187032778f546d2f8ad821661475172", + "url": "https://github.com/projectfluent/fluent.vim/archive/94c1ef622187032778f546d2f8ad821661475172.tar.gz", + "hash": "sha256-tOYxOUKa6Zn2Yq5peqGDEdCkpl+b+VKkSmZx7+kHZJ0=" + }, "flutter-tools-nvim": { "type": "Git", "repository": {