diff options
author | kylo252 <[email protected]> | 2022-12-17 12:33:57 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-12-17 12:33:57 +0100 |
commit | b661efb3179e9ee7c44c5b2f885f5a7e837ea19d (patch) | |
tree | 6e672b2cb60119931ec49fcec45f5cb087367d1a /lua/lvim/core/autocmds.lua | |
parent | 277079ff453fcd951447110fbc745e2241e0490f (diff) |
refactor(autocmds): clean up filetype detection rules (#3625)
* refactor(lua): simplify gf utility
* refactor(autocmds): cleanup
* refactor(ftdetect): use vim.filetype.add instead
Diffstat (limited to 'lua/lvim/core/autocmds.lua')
-rw-r--r-- | lua/lvim/core/autocmds.lua | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/lua/lvim/core/autocmds.lua b/lua/lvim/core/autocmds.lua index 79c9089b..6d1cc6cd 100644 --- a/lua/lvim/core/autocmds.lua +++ b/lua/lvim/core/autocmds.lua @@ -3,25 +3,6 @@ local Log = require "lvim.core.log" --- Load the default set of autogroups and autocommands. function M.load_defaults() - vim.api.nvim_create_autocmd({ "FileType" }, { - pattern = { - "Jaq", - "qf", - "help", - "man", - "lspinfo", - "spectre_panel", - "lir", - "DressingSelect", - "tsplayground", - }, - callback = function() - vim.cmd [[ - nnoremap <silent> <buffer> q :close<CR> - set nobuflisted - ]] - end, - }) local definitions = { { "TextYankPost", @@ -30,7 +11,7 @@ function M.load_defaults() pattern = "*", desc = "Highlight text on yank", callback = function() - require("vim.highlight").on_yank { higroup = "Search", timeout = 100 } + vim.highlight.on_yank { higroup = "Search", timeout = 100 } end, }, }, @@ -46,16 +27,43 @@ function M.load_defaults() "FileType", { group = "_filetype_settings", - pattern = "qf", - command = "set nobuflisted", + pattern = { "lua" }, + desc = "fix gf functionality inside .lua files", + callback = function() + ---@diagnostic disable: assign-type-mismatch + -- credit: https://github.com/sam4llis/nvim-lua-gf + vim.opt_local.include = [[\v<((do|load)file|require|reload)[^''"]*[''"]\zs[^''"]+]] + vim.opt_local.includeexpr = "substitute(v:fname,'\\.','/','g')" + vim.opt_local.suffixesadd:prepend ".lua" + vim.opt_local.suffixesadd:prepend "init.lua" + + for _, path in pairs(vim.api.nvim_list_runtime_paths()) do + vim.opt_local.path:append(path .. "/lua") + end + end, }, }, { "FileType", { group = "_buffer_mappings", - pattern = { "qf", "help", "man", "floaterm", "lspinfo", "lsp-installer", "null-ls-info" }, - command = "nnoremap <silent> <buffer> q :close<CR>", + pattern = { + "qf", + "help", + "man", + "floaterm", + "lspinfo", + "lir", + "lsp-installer", + "null-ls-info", + "tsplayground", + "DressingSelect", + "Jaq", + }, + callback = function() + vim.keymap.set("n", "q", "<cmd>close<cr>", { buffer = true }) + vim.opt_local.buflisted = false + end, }, }, { |