summaryrefslogtreecommitdiff
path: root/lua/lvim/core
diff options
context:
space:
mode:
authorkylo252 <[email protected]>2022-12-17 12:33:57 +0100
committerGitHub <[email protected]>2022-12-17 12:33:57 +0100
commitb661efb3179e9ee7c44c5b2f885f5a7e837ea19d (patch)
tree6e672b2cb60119931ec49fcec45f5cb087367d1a /lua/lvim/core
parent277079ff453fcd951447110fbc745e2241e0490f (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')
-rw-r--r--lua/lvim/core/autocmds.lua56
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,
},
},
{