about summary refs log tree commit diff stats
path: root/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-24 13:29:56 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-24 13:30:07 +0200
commit7fa70995b70a68ccd3510d195aa489ff058f5987 (patch)
tree38ec7c6c1214951de50586bf4a12032ad1e44e76 /modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
parentmodules/nvim/plgs: Remove unused plugins (diff)
downloadnixos-config-7fa70995b70a68ccd3510d195aa489ff058f5987.zip
modules/nvim/plgs/femaco: Use the nixvim module
We still import the config as lua file, as it is essentially just
callback functions, which would result in strings and `__raw` in nix.
Diffstat (limited to 'modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua')
-rw-r--r--modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua50
1 files changed, 34 insertions, 16 deletions
diff --git a/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua b/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
index 1371a825..50a6cb23 100644
--- a/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
+++ b/modules/by-name/nv/nvim/plgs/femaco/lua/femaco.lua
@@ -8,7 +8,9 @@
 -- You should have received a copy of the License along with this program.
 -- If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
 
+
 local clip_val = require("femaco.utils").clip_val
+
 require("femaco").setup({
   -- should prepare a new buffer and return the winid
   -- by default opens a floating window
@@ -17,7 +19,8 @@ require("femaco").setup({
   prepare_buffer = function(opts)
     local buf = vim.api.nvim_create_buf(false, false)
     return vim.api.nvim_open_win(buf, true, opts)
-  end,
+  end;
+
   -- should return options passed to nvim_open_win
   -- @param code_block: data about the code-block with the keys
   --   * range
@@ -25,30 +28,43 @@ require("femaco").setup({
   --   * lang
   float_opts = function(code_block)
     return {
-      relative = "cursor",
-      width = clip_val(5, 120, vim.api.nvim_win_get_width(0) - 10), -- TODO: how to offset sign column etc?
-      height = clip_val(5, #code_block.lines, vim.api.nvim_win_get_height(0) - 6),
-      anchor = "NW",
-      row = 0,
-      col = 0,
-      style = "minimal",
-      border = "rounded",
-      zindex = 1,
+      relative = "cursor";
+      width = clip_val(5, 120, vim.api.nvim_win_get_width(0) - 10); -- TODO how to offset sign column etc?
+      height = clip_val(5, #code_block.lines, vim.api.nvim_win_get_height(0) - 6);
+      anchor = "NW";
+      row = 0;
+      col = 0;
+      style = "minimal";
+      border = "rounded";
+      zindex = 1;
     }
-  end,
+  end;
+
   -- return filetype to use for a given lang
   -- lang can be nil
-  ft_from_lang = function(lang) return lang end,
+  ft_from_lang = function(lang)
+    return lang
+  end;
+
   -- what to do after opening the float
-  post_open_float = function(winnr) vim.wo.signcolumn = "no" end,
+  post_open_float = function(winnr)
+    vim.wo.signcolumn = "no"
+  end;
+
   -- create the path to a temporary file
-  create_tmp_filepath = function(filetype) return os.tmpname() end,
+  create_tmp_filepath = function(filetype)
+    return os.tmpname()
+  end;
+
   -- if a newline should always be used, useful for multiline injections
   -- which separators needs to be on separate lines such as markdown, neorg etc
   -- @param base_filetype: The filetype which FeMaco is called from, not the
   -- filetype of the injected language (this is the current buffer so you can
   -- get it from vim.bo.filetyp).
-  ensure_newline = function(base_filetype) return false end,
+  ensure_newline = function(base_filetype)
+    return base_filetype == "nix"
+  end;
+
   -- Return true if the indentation should be normalized. Useful when the
   -- injected language inherits indentation from the construction scope (e.g. an
   -- inline multiline sql string). If true, the leading indentation is detected,
@@ -57,5 +73,7 @@ require("femaco").setup({
   -- @param base_filetype: The filetype which FeMaco is called from, not the
   -- filetype of the injected language (this is the current buffer, so you can
   -- get it from vim.bo.filetype).
-  normalize_indent = function(base_filetype) return false end,
+  normalize_indent = function(base_filetype)
+    return base_filetype == "nix"
+  end;
 })