master
spike 2 years ago
parent 9e5678036c
commit 5a7920073d

@ -0,0 +1,13 @@
if not pcall(require, "nvim-treesitter") then
return
end
local list = require("nvim-treesitter.parsers").get_parser_configs()
list.sql = {
install_info = {
url = "https://github.com/DerekStride/tree-sitter-sql",
files = { "src/parser.c" },
branch = "main",
},
}

@ -84,7 +84,11 @@ M.general = { --{{{
-- option toggle cursor line
["<BS>l"] = { "<cmd> set cul!<CR>", "toggle line number" },
["<BS>c"] = {"<cmd>cclose<CR>", "close quickfix"},
["<BS>c"] = {"<cmd>cclose<CR><cmd>lclose<CR>", "close quickfix"},
["<BS>d"] = {"<cmd>DelayTrainToggle<CR>", "disable delay train"},
-- update nvchad
@ -243,10 +247,8 @@ M.general = { --{{{
return "g@l"
end, "TS swap left with sibling", opts = { expr = true}},
["]e"] = { "<cmd> cn <CR>", "next error" },
["<leader>en"] = { "<cmd> cn <CR>", "next error" },
["<leader>ep"] = { "<cmd> cp <CR>", "previous error" },
["[e"] = { "<cmd> cp <CR>", "previous error" },
["]e"] = { "<cmd> cn <CR>", "quickfix next error" },
["[e"] = { "<cmd> cp <CR>", "quickfix previous error" },
-- Tabularize mappings
@ -328,9 +330,7 @@ M.general = { --{{{
-- ["k"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', opts = { expr = true } },
["j"] = { "gj" },
["k"] = { "gk" },
-- Don't copy the replaced text after pasting in visual mode
-- https://vim.fandom.com/wiki/Replace_a_word_with_yanked_text#Alternative_mapping_for_paste
["p"] = { 'p:let @+=@0<CR>:let @"=@0<CR>', opts = { silent = true } },
-- yank from cursor to eol to system and primary clipboard
["<leader>y"] = { '"*y gv"+y', "yank line to clipboards" },
@ -372,6 +372,11 @@ M.general = { --{{{
-- visual exclusive mode (ignore select)
x = { -- {{{
-- Don't copy the replaced text after pasting in visual mode
-- https://vim.fandom.com/wiki/Replace_a_word_with_yanked_text#Alternative_mapping_for_paste
["p"] = { 'p:let @+=@0<CR>:let @"=@0<CR>', opts = { silent = true } },
-- syntax-tree-surfer
["J"] = {"<cmd>STSSelectNextSiblingNode<CR>", "select next sibling node"},
["K"] = {"<cmd>STSSelectPrevSiblingNode<CR>", "select prev sibling node"},
@ -686,9 +691,11 @@ M.general = { --{{{
function ()
local ignored_bufs = {
"qf",
"guihua",
"NvimT*"
}
for _, ignored in ipairs(ignored_bufs) do
if vim.bo.filetype == ignored then
if vim.o.filetype:match(ignored) then
local default_keyseq = termcodes("<C-p>")
vim.api.nvim_feedkeys(default_keyseq, 'n', false)
return
@ -707,6 +714,7 @@ M.general = { --{{{
["<leader>fM"] = { "<cmd> Telescope man_pages <CR>", "Telescope marks" },
["<leader>tk"] = { "<cmd> Telescope keymaps <CR>", "Telescope show keys" },
["<leader>fr"] = { "<cmd> Telescope resume <CR>", "telescope resume last search" },
["<leader>fc"] = { "<cmd> Telescope commands <CR>", "telescope commands" },
-- git
["<leader>fg"] = { " ", "telescope git commands" },
@ -807,7 +815,7 @@ M.general = { --{{{
plugin = true,
n = {
["<leader>cc"] = {
["<BS>k"] = {
function()
local ok, start = require("indent_blankline.utils").get_current_context(
vim.g.indent_blankline_context_patterns,
@ -825,19 +833,13 @@ M.general = { --{{{
},
} --}}}
M.navigator = {--{{{
-- code outline panel
M.aerial = {
plugin = true,
n = {
["<Right>"] = { "<cmd> lua require'navigator.treesitter'.side_panel()<CR><C-w>h", "toggle TreeSitter symbols panel " },
["<Right>"] = {"<cmd> AerialToggle! right<CR>"},
}
}--}}}
M.vista = { -- Tagbar equivalent using LSP {{{
plugin = true,
n = {
["<Right>"] = { "<cmd> Vista!! <CR>", "toggle TreeSitter symbols " },
},
} --}}}
}
M.asyncrun = { --{{{
plugin = true,

@ -14,7 +14,7 @@ local colors = {
-- vim.tbl_deep_extend("force", M.ui.hl_add, custom_theme)
M.ui = {
theme = "monekai",
theme = "gruvbox_light",
theme_toggle = { "monekai", "gruvbox_light" },
hl_override = {
Comment = {

@ -21,16 +21,16 @@ vim.opt.runtimepath:prepend(vimscriptsfolder)
-- Shift key typos{
vim.cmd [[
command! -bang -nargs=* -complete=file E e<bang> <args>
command! -bang -nargs=* -complete=file W w<bang> <args>
command! -bang -nargs=* -complete=file Wq wq<bang> <args>
command! -bang -nargs=* -complete=file WQ wq<bang> <args>
command! -nargs=* -complete=help H h <args>
command! -bang Wa wa<bang>
command! -bang WA wa<bang>
command! -bang Q q<bang>
command! -bang QA qa<bang>
command! -bang Qa qa<bang>
command! -bang -nargs=* -complete=file E e<bang> <args>
command! -bang -nargs=* -complete=file W w<bang> <args>
command! -bang -nargs=* -complete=file Wq wq<bang> <args>
command! -bang -nargs=* -complete=file WQ wq<bang> <args>
command! -nargs=* -complete=help H h <args>
command! -bang Wa wa<bang>
command! -bang WA wa<bang>
command! -bang Q q<bang>
command! -bang QA qa<bang>
command! -bang Qa qa<bang>
]]
--}
@ -44,7 +44,7 @@ vim.cmd [[
au!
execute "au BufEnter " . dwm_file_patterns . " :lcd %:p:h"
execute "au BufWritePost " . dwm_file_patterns . " :AsyncRun! make clean && make && sudo make install"
execute "au BufWritePost " . dwm_file_patterns . " :AsyncRun! make clean && make -j $(nproc) && sudo make install"
"au BufWrite */src/*/dwm*/{*.h,dwm.c} :AsyncRun! make clean && make && sudo make install
augroup END
]]

@ -13,7 +13,7 @@ local config = {
default_mapping = false,
keymaps = {
{ key = 'gr', func = require('navigator.reference').async_ref, desc = 'lsp async_ref' },
{ key = '<Leader>gr', func = require('navigator.reference').reference, desc = 'lsp reference' }, -- reference deprecated
-- { key = '<Leader>gr', func = require('navigator.reference').reference, desc = 'lsp reference' }, -- reference deprecated
{
key = '<M-i>',
mode = 'i',
@ -42,9 +42,9 @@ local config = {
},
-- { key = '<Leader>re', func = 'rename()' },
{ key = '<Space>rn', func = require('navigator.rename').rename, desc = 'lsp rename' },
{ key = '<Leader>gc', func = vim.lsp.buf.incoming_calls, desc = 'lsp incoming_calls' },
{ key = '<Leader>gi', func = vim.lsp.buf.incoming_calls, desc = 'lsp incoming_calls' },
{ key = '<Leader>go', func = vim.lsp.buf.outgoing_calls, desc = 'lsp outgoing_calls' },
{ key = '<Leader>gi', func = vim.lsp.buf.implementation, desc = 'lsp implementation' },
{ key = '<Leader>gm', func = vim.lsp.buf.implementation, desc = 'lsp implementation' },
{ key = '<Space>D', func = vim.lsp.buf.type_definition, desc = 'lsp type_definition' },
{ key = 'gL', func = require('navigator.diagnostics').show_diagnostics, desc = 'lsp show_diagnostics' },
{ key = 'gG', func = require('navigator.diagnostics').show_buf_diagnostics, desc = 'lsp show_buf_diagnostics' },
@ -144,6 +144,7 @@ local config = {
},
diagnostic_scrollbar_sign = false,
display_diagnostic_qf = false,
disable_lsp = {"clangd", "rust_analyzer"},
@ -167,14 +168,16 @@ local config = {
}
},
["lua-dev"] = {
["neodev"] = {
library = {
enabled = true,
runtime = true,
-- plugins = true,
plugins = {"plenary.nvim"},
-- plugins = {"navigator.lua", "guihua.lua", "go.nvim", "plenary.nvim"},
runtime = true,
types = true,
}
},
setup_jsonls = true,
},
}
}

@ -335,6 +335,12 @@ return {
["sindrets/diffview.nvim"] = {
requires = {"nvim-lua/plenary.nvim"},
after = {"plenary.nvim"},
config = function()
require("diffview").setup({
enhanced_diff_hl = true,
})
end
},
-- session and view
@ -390,6 +396,9 @@ return {
"netrw",
"neorepl",
"dapui*",
"mason",
"guihua*",
"terminal*",
},
})
end
@ -427,7 +436,7 @@ return {
-- ------------------
["neovim/nvim-lspconfig"] = { -- {{{
after = { "lua-dev.nvim", "mason.nvim", "mason-lspconfig.nvim" },
after = { "neodev.nvim", "mason.nvim", "mason-lspconfig.nvim" },
module = { "lspconfig" },
lock = false,
config = function()
@ -444,7 +453,7 @@ return {
end,
},
["ray-x/guihua.lua"] = {
lock = true,
lock = false,
module = { "navigator" },
run = "cd lua/fzy && make",
config = function()
@ -459,14 +468,14 @@ return {
-- ["https://git.sp4ke.xyz/sp4ke/navigator.lua"] =
--
["ray-x/navigator.lua"] = {
lock = true,
lock = false,
opt = true,
module = "navigator",
after = { "nvim-lspconfig", "base46", "ui", "mason.nvim", "mason-lspconfig.nvim", "lua-dev.nvim" },
after = { "nvim-lspconfig", "base46", "ui", "mason.nvim", "mason-lspconfig.nvim", "neodev.nvim" },
requires = { "neovim/nvim-lspconfig", "ray-x/guihua.lua", "nvim-treesitter/nvim-treesitter" },
setup = function()
require("core.lazy_load").on_file_open "navigator.lua"
require("core.utils").load_mappings "navigator"
-- require("core.utils").load_mappings "navigator"
end,
config = function()
require("custom.plugins.configs.navigator").setup()
@ -495,6 +504,16 @@ return {
-- },
--
['stevearc/aerial.nvim'] = {
after = {"base46"},
keys = {"<Right>"},
cmd = {"Aerial*"},
config = function()
require("core.utils").load_mappings "aerial"
require('aerial').setup({})
end
},
-- -------------------------------------------------------
-- Programming Languages Plugins
-- -------------------------------------------------------
@ -561,10 +580,19 @@ return {
-- Lua dev env
-- check setup in configs/navigator.lua
["folke/lua-dev.nvim"] = {
lock = true,
module = "lua-dev",
}, -- }}}
-- ["folke/lua-dev.nvim"] = {
-- lock = true,
-- module = "lua-dev",
-- }, -- }}}
-- neodev (replaces lua-dev)
["folke/neodev.nvim"] = {
-- commit = "d6212c1"
-- module = "neodev",
},
["hrsh7th/cmp-nvim-lua"] = { -- NOTE: needs to be disabled for neodev
disable = true,
},
-- golang dev
@ -588,4 +616,9 @@ return {
end
} -- }}}
-- sql tools
-- https://github.com/tpope/vim-dadbod
-- https://github.com/kristijanhusak/vim-dadbod-ui
}

@ -3,118 +3,139 @@
local fn = vim.fn
local sep_style = vim.g.statusline_sep_style
local separators = (type(sep_style) == "table" and sep_style)
or require("nvchad_ui.icons").statusline_separators[sep_style]
or require("nvchad_ui.icons").statusline_separators[sep_style]
local sep_r = separators["right"]
local myicons = require("custom.chadrc").ui.myicons
local modes = {
["n"] = { "NORMAL", "St_NormalMode" },
["niI"] = { "NORMAL i", "St_NormalMode" },
["niR"] = { "NORMAL r", "St_NormalMode" },
["niV"] = { "NORMAL v", "St_NormalMode" },
["no"] = { "N-PENDING", "St_NormalMode" },
["i"] = { "INSERT", "St_InsertMode" },
["ic"] = { "INSERT (completion)", "St_InsertMode" },
["ix"] = { "INSERT completion", "St_InsertMode" },
["t"] = { "TERMINAL", "St_TerminalMode" },
["nt"] = { "NTERMINAL", "St_NTerminalMode" },
["v"] = { "VISUAL", "St_VisualMode" },
["V"] = { "V-LINE", "St_VisualMode" },
["Vs"] = { "V-LINE (Ctrl O)", "St_VisualMode" },
[""] = { "V-BLOCK", "St_VisualMode" },
["R"] = { "REPLACE", "St_ReplaceMode" },
["Rv"] = { "V-REPLACE", "St_ReplaceMode" },
["s"] = { "SELECT", "St_SelectMode" },
["S"] = { "S-LINE", "St_SelectMode" },
[""] = { "S-BLOCK", "St_SelectMode" },
["c"] = { "COMMAND", "St_CommandMode" },
["cv"] = { "COMMAND", "St_CommandMode" },
["ce"] = { "COMMAND", "St_CommandMode" },
["r"] = { "PROMPT", "St_ConfirmMode" },
["rm"] = { "MORE", "St_ConfirmMode" },
["r?"] = { "CONFIRM", "St_ConfirmMode" },
["!"] = { "SHELL", "St_TerminalMode" },
["n"] = { "NORMAL", "St_NormalMode" },
["niI"] = { "NORMAL i", "St_NormalMode" },
["niR"] = { "NORMAL r", "St_NormalMode" },
["niV"] = { "NORMAL v", "St_NormalMode" },
["no"] = { "N-PENDING", "St_NormalMode" },
["i"] = { "INSERT", "St_InsertMode" },
["ic"] = { "INSERT (completion)", "St_InsertMode" },
["ix"] = { "INSERT completion", "St_InsertMode" },
["t"] = { "TERMINAL", "St_TerminalMode" },
["nt"] = { "NTERMINAL", "St_NTerminalMode" },
["v"] = { "VISUAL", "St_VisualMode" },
["V"] = { "V-LINE", "St_VisualMode" },
["Vs"] = { "V-LINE (Ctrl O)", "St_VisualMode" },
[""] = { "V-BLOCK", "St_VisualMode" },
["R"] = { "REPLACE", "St_ReplaceMode" },
["Rv"] = { "V-REPLACE", "St_ReplaceMode" },
["s"] = { "SELECT", "St_SelectMode" },
["S"] = { "S-LINE", "St_SelectMode" },
[""] = { "S-BLOCK", "St_SelectMode" },
["c"] = { "COMMAND", "St_CommandMode" },
["cv"] = { "COMMAND", "St_CommandMode" },
["ce"] = { "COMMAND", "St_CommandMode" },
["r"] = { "PROMPT", "St_ConfirmMode" },
["rm"] = { "MORE", "St_ConfirmMode" },
["r?"] = { "CONFIRM", "St_ConfirmMode" },
["!"] = { "SHELL", "St_TerminalMode" },
}
local function is_dapmode()
return require("spike.dap.dapmode").is_active()
-- return false
return require("spike.dap.dapmode").is_active()
-- return false
end
return {
mode = function()
local m = vim.api.nvim_get_mode().mode
local current_mode = "%#" .. modes[m][2] .. "#" .. "" .. modes[m][1]
local mode_sep1 = "%#" .. modes[m][2] .. "Sep" .. "#" .. sep_r
if is_dapmode() then
local dap_mode = "%#St_DapMode#DAP" .. "%#St_DapModeSep#"
return current_mode .. mode_sep1 .. "%#St_DapModeSep2#" .. sep_r .. dap_mode .. sep_r
end
return current_mode .. mode_sep1 .. "%#ST_EmptySpace#" .. sep_r
end,
return {
mode = function()
local m = vim.api.nvim_get_mode().mode
local current_mode = "%#" .. modes[m][2] .. "#" .. "" .. modes[m][1]
local mode_sep1 = "%#" .. modes[m][2] .. "Sep" .. "#" .. sep_r
if is_dapmode() then
local dap_mode = "%#St_DapMode#DAP" .. "%#St_DapModeSep#"
return current_mode .. mode_sep1 .. "%#St_DapModeSep2#" .. sep_r .. dap_mode .. sep_r
end
return current_mode .. mode_sep1 .. "%#ST_EmptySpace#" .. sep_r
end,
fileInfo = function ()
local icon = ""
local filename = (fn.expand "%" == "" and "Empty ") or fn.expand "%:t"
local modified = (vim.bo[0].modified and "+ ") or ""
if filename ~= "Empty " then
local devicons_present, devicons = pcall(require, "nvim-web-devicons")
if devicons_present then
local ft_icon = devicons.get_icon(filename)
icon = (ft_icon ~= nil and " " .. ft_icon) or ""
end
filename = " " .. filename .. " "
end
return "%#St_file_info#" .. icon .. filename .. modified .. "%#St_file_sep#" .. sep_r
end,
LSP_Diagnostics = function()
if not rawget(vim, "lsp") then
return ""
end
local errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
local warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
local hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
local info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
errors = (errors and errors > 0) and ("%#St_lspError#" .. myicons.lsp.diagnostic_err .. " " .. errors .. " ") or ""
warnings = (warnings and warnings > 0) and ("%#St_lspWarning#" .. myicons.lsp.diagnostic_warn .. " " .. warnings .. " ") or ""
hints = (hints and hints > 0) and ("%#St_lspHints#" .. myicons.lsp.diagnostic_hint .. " " .. hints .. " ") or ""
info = (info and info > 0) and ("%#St_lspInfo#" .. myicons.lsp.diagnostic_info .. " " .. info .. " ") or ""
return errors .. warnings .. hints .. info
end,
LSP_status = function()
local lsp_status = ""
local dap_status = ""
if rawget(vim, "lsp") then
for _, client in ipairs(vim.lsp.get_active_clients()) do
if client.attached_buffers[vim.api.nvim_get_current_buf()] then
lsp_status = (vim.o.columns > 100 and "%#St_LspStatus#" .. "  [" .. client.name .. "] ") or ""
fileInfo = function()
local icon = ""
local filename = (fn.expand "%" == "" and "Empty ") or fn.expand "%:t"
local modified = (vim.bo[0].modified and "+ ") or ""
if filename ~= "Empty " then
local devicons_present, devicons = pcall(require, "nvim-web-devicons")
if devicons_present then
local ft_icon = devicons.get_icon(filename)
icon = (ft_icon ~= nil and " " .. ft_icon) or ""
end
filename = " " .. filename .. " "
end
end
end
return "%#St_file_info#" .. icon .. filename .. modified .. "%#St_file_sep#" .. sep_r
end,
local present, dap = pcall(require, "dap")
if present then
local session = dap.session()
if session ~= nil and session.initialized == true then
dap_status = "%#St_Dap#" .. "%* "
end
end
LSP_Diagnostics = function()
if not rawget(vim, "lsp") then
return ""
end
return lsp_status .. dap_status
end,
}
local errors = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.ERROR })
local warnings = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.WARN })
local hints = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.HINT })
local info = #vim.diagnostic.get(0, { severity = vim.diagnostic.severity.INFO })
errors = (errors and errors > 0) and ("%#St_lspError#" .. myicons.lsp.diagnostic_err .. " " .. errors .. " ") or
""
warnings = (warnings and warnings > 0) and
("%#St_lspWarning#" .. myicons.lsp.diagnostic_warn .. " " .. warnings .. " ") or ""
hints = (hints and hints > 0) and ("%#St_lspHints#" .. myicons.lsp.diagnostic_hint .. " " .. hints .. " ") or ""
info = (info and info > 0) and ("%#St_lspInfo#" .. myicons.lsp.diagnostic_info .. " " .. info .. " ") or ""
return errors .. warnings .. hints .. info
end,
LSP_progress = function()
if not rawget(vim, "lsp") then
return ""
end
local Lsp = vim.lsp.util.get_progress_messages()[1]
if vim.o.columns < 120 or not Lsp then
return ""
end
local msg = Lsp.message or ""
local percentage = Lsp.percentage or 0
local title = Lsp.title or ""
local spinners = { "", "" }
local ms = vim.loop.hrtime() / 1000000
local frame = math.floor(ms / 120) % #spinners
local content = string.format(" %%<%s %s %s (%s%%%%) ", spinners[frame + 1], title, msg, percentage)
return ("%#St_LspProgress#" .. content) or ""
end,
LSP_status = function()
local lsp_status = ""
local dap_status = ""
if rawget(vim, "lsp") then
for _, client in ipairs(vim.lsp.get_active_clients()) do
if client.attached_buffers[vim.api.nvim_get_current_buf()] then
lsp_status = (vim.o.columns > 100 and "%#St_LspStatus#" .. "  [" .. client.name .. "] ") or ""
end
end
end
local present, dap = pcall(require, "dap")
if present then
local session = dap.session()
if session ~= nil and session.initialized == true then
dap_status = "%#St_Dap#" .. "%* "
end
end
return lsp_status .. dap_status
end,
}

@ -15,7 +15,7 @@ local plugins = {
["NvChad/extensions"] = { module = { "telescope", "nvchad" }, lock = true },
["NvChad/base46"] = {
lock = true,
lock = false,
config = function()
local ok, base46 = pcall(require, "base46")
@ -33,15 +33,15 @@ local plugins = {
end,
},
-- ["NvChad/nvterm"] = {
-- module = "nvterm",
-- config = function()
-- require "plugins.configs.nvterm"
-- end,
-- setup = function()
-- require("core.utils").load_mappings "nvterm"
-- end,
-- },
["NvChad/nvterm"] = {
module = "nvterm",
config = function()
require "plugins.configs.nvterm"
end,
setup = function()
require("core.utils").load_mappings "nvterm"
end,
},
["kyazdani42/nvim-web-devicons"] = {
after = "ui",
@ -142,12 +142,9 @@ local plugins = {
after = "LuaSnip",
},
["hrsh7th/cmp-nvim-lua"] = {
after = "cmp_luasnip",
},
["hrsh7th/cmp-nvim-lsp"] = {
after = "cmp-nvim-lua",
after = {"nvim-cmp"},
},
["hrsh7th/cmp-buffer"] = {

@ -0,0 +1,51 @@
- [ ] setup task runner overseer.nvim
- [ ] setup dadbod nvim for database work
- [diffview.nvim] learn to use instead of fugitive ?
- [luasnip] setup and learn how to use theme
- [dap] use the *console* for dap console output
- install neorg (neovim org mode) #TODO:
- set full file path somewhere
- use quick switch alternate buffer
- set custom theme per buftype (dark for Man)
- make line numbers easier to read in line operator mode
-INFO:using extranl ui process in neovim: check fzflua,iron.nvim
- add tag="*" to plugins that use tags
- use libmodal + whichkey ?
- gisigns: add navigation between hunks (vs fugitive ?)
- optimize git flow
- navigator icons update
- vim-bookmarks disable default keymaps and use manaul ones (keep ma ...)
- Setup telescope/fzf mappings together
- LSP C-i is tab does not allow to jump back into history
- [PLUGIN INDEA] bookmark: take notes
- show messages window outside or floating
- create a bookmark mini plugin/helper for bookmarking paths
- html filetype use pup as auto formatter formatprg (check default vim) ?
- per project lsp settings
see https://www.reddit.com/r/neovim/comments/opipij/guide_tips_and_tricks_to_reduce_startup_and/
- add/read language docs in vim
- vim.diagnostics.hide()/show() /
- create toggle diagnostics that overrides vim diagnostic show handler
- [navigator] use colors for codelens icons
- [navigator] remap C-k keymap
- [navigator] neovim diagnositc toggle (use hide() instead of disable)
- [navigator] check codelens icons
- [navigator] disable diagnostic on startup
- dynamic C-x: if number default or close window
- load custom/init.lua (autocommands) as vimscript file ?
- dynamic :w!! (daos or sudo)
- welcome screen (use mini)
- incorporate changes in nvchad_ui to override
- setup thesaurus for synonyms completions
[x] [navigator] fix 'gi' keymap overriden by navigator (use space leader)
- [x]nvim C-p should not work in ft=qf
- [x] set neovim shell to bash/sh for faster commands (fish is slow)
- [x] yank until end of line $ mapping automatic with Y
- [x] remove registers from which-key plugin
-fix: problem with auto paused navigators
- [x] fix color/icon of status line diagnostics to match navigator
-[x] pin all plugins
- [x] autocommand move current directory when move to new window
- [done]fix C-k expand snippet - it was alacritty overriding C-k
- [done] install vim hardway .. ? gajim
- [x][lsp] set tap on logs for go like rust-analyzer (see .local/bin/run-rust-analyzer)

@ -0,0 +1,38 @@
- !{motion}{filter} filter text lines through ext program
- !!{filter} filter lines through ext program
- review using C-x C-l with context aware situation
- gR *virtual replace* mode
- C-\ atlernate between windows
- C-^ alternate buffer
- g; Go to [count] older position in change list.
- g, Go to [count] newer position in change list.
# Change in the last search patterns
- cgn : change to the last used search patter ex:
/searchVar
cgn
newVar
. (keep pressing dot to repeat changes)
# Modeline errors
This erorr might appear:
`Error detected while processing modelines:`
When there is a text somewhere that is recognized by vim as a modeline.
* ! solution: add a top of file # vim: nomodeline (replace `#' with comment char)
4. Named registers "a to "z or "A to "Z quote_alpha quotea
Vim fills these registers only when you say so. Specify them as lowercase
letters to replace their previous contents or as uppercase letters to append
to their previous contents. When the '>' flag is present in 'cpoptions' then
a line break is inserted before the appended text.
## Neovim Lua Plugin Tips
- if a var needs to be accessed outside plugin and cannot be shared easilly
like from a scheduled func call or timer, save the var in vim.g and access it
as global variable

@ -0,0 +1,3 @@
## Injections
- Using after/queries does not work well with injections
- using CONF_DIR/queries/{lang}/injections.scm seems to work

@ -0,0 +1,7 @@
(
(const_spec
name: (identifier) @_id
value: (expression_list (raw_string_literal) @sql))
(#match? @_id "^Q")
)

@ -0,0 +1,5 @@
package main
const Qtest = `
select * from some_table
`
Loading…
Cancel
Save