summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChloƩ Vulquin <code@toast.bunkerlabs.net>2024-11-12 12:49:56 +0100
committerChloƩ Vulquin <code@toast.bunkerlabs.net>2024-11-12 12:49:56 +0100
commite6de67899a4fa0a896db40b3c0f1b5560c7ae3d7 (patch)
tree4a78d5281689ae108c58bc371ef844085cee7c4a
parentsh: add /tmp helpers (diff)
nvim: add editorconfig ft extension
This is NOT an optimal or reliable solution. I want to take a closer look at it later, but right now I don't have the time.
-rw-r--r--dot_config/nvim/pre.fnl10
-rw-r--r--dot_config/nvim/pre.lua28
2 files changed, 30 insertions, 8 deletions
diff --git a/dot_config/nvim/pre.fnl b/dot_config/nvim/pre.fnl
index 0b2c9af..a22a233 100644
--- a/dot_config/nvim/pre.fnl
+++ b/dot_config/nvim/pre.fnl
@@ -35,3 +35,13 @@
:* (recc :vim.ui.clipboard.osc52 :copy :*)}
:paste {:+ (recc :vim.ui.clipboard.osc52 :paste :+)
:* (recc :vim.ui.clipboard.osc52 :paste :*)}})))
+
+; editorconfig extensions
+(let [ec (require :editorconfig)]
+ (set ec.properties.filetype
+ (fn [bufnr val opts]
+ (let [bo (. vim.bo bufnr)]
+ (when (not= bo.filetype val)
+ (set bo.filetype val)
+ ; otherwise the change in ft will override editorconfig settings
+ (ec.config bufnr))))))
diff --git a/dot_config/nvim/pre.lua b/dot_config/nvim/pre.lua
index 78eb892..15dc641 100644
--- a/dot_config/nvim/pre.lua
+++ b/dot_config/nvim/pre.lua
@@ -5,12 +5,24 @@ local options = {timeoutlen = 300, clipboard = "unnamedplus", completeopt = "men
for k, v in pairs(options) do
vim.opt[k] = v
end
-local _let_1_ = vim.version()
-local major = _let_1_["major"]
-local minor = _let_1_["minor"]
-if ((major > 0) or (minor >= 10)) then
- vim.g.clipboard = {name = "OSC52", copy = {["+"] = require("vim.ui.clipboard.osc52").copy("+"), ["*"] = require("vim.ui.clipboard.osc52").copy("*")}, paste = {["+"] = require("vim.ui.clipboard.osc52").paste("+"), ["*"] = require("vim.ui.clipboard.osc52").paste("*")}}
- return nil
-else
- return nil
+do
+ local _let_1_ = vim.version()
+ local major = _let_1_["major"]
+ local minor = _let_1_["minor"]
+ if ((major > 0) or (minor >= 10)) then
+ vim.g.clipboard = {name = "OSC52", copy = {["+"] = require("vim.ui.clipboard.osc52").copy("+"), ["*"] = require("vim.ui.clipboard.osc52").copy("*")}, paste = {["+"] = require("vim.ui.clipboard.osc52").paste("+"), ["*"] = require("vim.ui.clipboard.osc52").paste("*")}}
+ else
+ end
end
+local ec = require("editorconfig")
+local function _3_(bufnr, val, opts)
+ local bo = vim.bo[bufnr]
+ if (bo.filetype ~= val) then
+ bo.filetype = val
+ return ec.config(bufnr)
+ else
+ return nil
+ end
+end
+ec.properties.filetype = _3_
+return nil