aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2022-10-20 23:58:14 +0200
committersrdusr <trevorgray@srdusr.com>2022-10-20 23:58:14 +0200
commit6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48 (patch)
tree1c08d622e135b669381a0889c54012f70929514d
parent97be95d96b96c42dab64dff7018a89baa22384ee (diff)
downloaddotfiles-6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48.tar.gz
dotfiles-6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48.zip
luasnip integration
-rw-r--r--autoload/scripts.vim15
-rw-r--r--lua/user/autopairs.lua12
-rw-r--r--lua/user/cmp.lua39
-rw-r--r--lua/user/colorscheme.lua2
-rw-r--r--lua/user/keys.lua204
-rw-r--r--lua/user/luasnip.lua127
-rw-r--r--lua/user/opts.lua1
-rw-r--r--lua/user/pack.lua5
8 files changed, 265 insertions, 140 deletions
diff --git a/autoload/scripts.vim b/autoload/scripts.vim
new file mode 100644
index 0000000..5c695d3
--- /dev/null
+++ b/autoload/scripts.vim
@@ -0,0 +1,15 @@
+if !exists('*scripts#save_and_exec')
+ function! scripts#save_and_exec() abort
+ if &filetype == 'vim'
+ :silent! write
+ :source %
+ elseif &filetype == 'lua'
+ :silent! write
+ :luafile %
+ endif
+
+ return
+ endfunction
+endif
+
+
diff --git a/lua/user/autopairs.lua b/lua/user/autopairs.lua
index 577e571..fc39d2e 100644
--- a/lua/user/autopairs.lua
+++ b/lua/user/autopairs.lua
@@ -11,9 +11,19 @@ npairs.setup {
javascript = { "string", "template_string" },
java = false,
},
+ map = "<M-e>",
+ pairs_map = {
+['<'] = '>',
+},
disable_filetype = { "TelescopePrompt", "spectre_panel" },
+ disable_in_macro = true,
+ disable_in_visualblock = true,
+ enalbe_moveright = true,
+ enable_afterquote = true, -- add bracket pairs after quote
+ enable_check_bracket_line = true, --- check bracket in same line
+ enable_bracket_in_quote = true, --
+ break_undo = true, -- switch for basic rule break undo sequence
fast_wrap = {
- map = "<M-e>",
chars = { "{", "[", "(", '"', "'" },
pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""),
offset = 0, -- Offset from pattern match
diff --git a/lua/user/cmp.lua b/lua/user/cmp.lua
index 77a4943..4dc7c45 100644
--- a/lua/user/cmp.lua
+++ b/lua/user/cmp.lua
@@ -1,7 +1,7 @@
-- Setup nvim-cmp.
---vim.opt.completeopt = "menu,menuone,noselect"
-vim.g.completeopt = "menu,menuone,noselect,noinsert"
+vim.opt.completeopt = "menu,menuone,noselect"
+--vim.g.completeopt = "menu,menuone,noselect,noinsert"
local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then
return
@@ -39,7 +39,7 @@ require("symbols-outline").setup(opts)
-- exclude = {},
--})
-require("luasnip.loaders.from_vscode").lazy_load()
+--require("luasnip.loaders.from_vscode").lazy_load()
local lspkind = require("lspkind")
local kind_icons = {
Text = "",
@@ -70,17 +70,24 @@ local kind_icons = {
}
cmp.setup({
snippet = {
- expand = function(args)
- require("luasnip").lsp_expand(args.body)
- end,
+ --expand = function(args)
+ -- require("luasnip").lsp_expand(args.body)
+ --end,
+ expand = function(args)
+ local luasnip = require("luasnip")
+ if not luasnip then
+ return
+ end
+ luasnip.lsp_expand(args.body)
+ end,
},
mapping = cmp.mapping.preset.insert({
-- ["<CR>"] = cmp.mapping.confirm({
-- behavior = cmp.ConfirmBehavior.Replace,
-- select = true,
-- }),
- ["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
- ["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
+ --["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
+ --["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
['<C-y>'] = cmp.mapping.confirm({ select = true }),
--["<C-e>"] = cmp.mapping.close(),
['<C-e>'] = cmp.mapping({
@@ -102,10 +109,12 @@ cmp.setup({
sources = cmp.config.sources({
{ name = "path" },
- { name = "nvim_lua" },
+ --{ name = "nvim_lua" },
{ name = "gh_issues" },
{ name = "nvim_lsp", keyword_length = 3 },
- { name = "luasnip", keyword_length = 4 },
+ { name = 'luasnip', option = { use_show_condition = false } },
+ --{ name = "luasnip" },
+ --{ name = "luasnip", keyword_length = 4 },
--{ name = "buffer", keyword_length = 3 },
{ name = "buffer", option = { get_bufnrs = function()
return vim.api.nvim_list_bufs()
@@ -144,11 +153,11 @@ cmp.setup({
format = lspkind.cmp_format {
with_text = true,
menu = {
- buffer = "[buf]",
nvim_lsp = "[LSP]",
+ luasnip = "[snip]",
+ buffer = "[buf]",
nvim_lua = "[api]",
path = "[path]",
- luasnip = "[snip]",
gh_issues = "[issues]",
},
},
@@ -198,7 +207,7 @@ cmp.setup({
experimental = {
ghost_text = true,
hl_group = 'Nontext',
- native_menu = false,
+ --native_menu = false,
},
view = {
@@ -236,8 +245,8 @@ cmp.setup.cmdline({ '/', '?' }, {
cmp.setup.cmdline(":", {
mapping = {
- ["<C-k>"] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
- ["<C-j>"] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
+ ["<C-p>"] = cmp.mapping(cmp.mapping.select_prev_item(), { 'i', 'c' }),
+ ["<C-n>"] = cmp.mapping(cmp.mapping.select_next_item(), { 'i', 'c' }),
["<C-y>"] = cmp.mapping(cmp.mapping.confirm({ select = true }), { 'i', 'c' }),
["<C-e>"] = cmp.mapping(cmp.mapping.close(), { 'i', 'c' }),
["<C-u>"] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
diff --git a/lua/user/colorscheme.lua b/lua/user/colorscheme.lua
index 3ded54c..dc0145d 100644
--- a/lua/user/colorscheme.lua
+++ b/lua/user/colorscheme.lua
@@ -1,6 +1,6 @@
-- Colorscheme
-- ayu gruvbox molokai onedark srcery everblush vscode edge nightfly doom-one
-local colorscheme = "doom-one"
+local colorscheme = "onedark"
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
if not status_ok then
vim.notify("colorscheme " .. colorscheme .. " not found!")
diff --git a/lua/user/keys.lua b/lua/user/keys.lua
index 4515cbc..1a2994b 100644
--- a/lua/user/keys.lua
+++ b/lua/user/keys.lua
@@ -1,17 +1,24 @@
--[[ key.lua ]]
-- Shorten function name
-local map = vim.api.nvim_set_keymap
+--local keymap = vim.api.nvim_set_keymap
+local keymap = vim.keymap
-local function new_desc(d)
- return { desc = d }
-end
-
-local d = new_desc
-
-local opts = { noremap = true, silent = true }
+--local function new_desc(d)
+-- return { desc = d }
+--end
+--
+--local d = new_desc
+
+--local opts = { noremap = true, silent = true }
+local term_opts = { noremap = true, silent = false }
+ local map = function(mode, l, r, opts)
+ opts = opts or {}
+ opts.silent = true
+ opts.noremap = true
+ keymap.set(mode, l, r, opts)
+ end
-local term_opts = { silent = true }
--------------- Standard Operations ---------------
-- Semi-colon as leader key
@@ -19,12 +26,12 @@ vim.g.mapleader = ";"
--vim.g.maplocalleader = ";"
-- "jj" to exit insert-mode
-map("i", "jj", "<esc>", opts)
+map("i", "jj", "<esc>")
-- save quickly
--map("n", ";w", ":w<CR>", d("Save buffer"))
---map("n", "<leader>so", ":luafile %<CR>", opts)
+--map("n", "<leader>so", ":luafile %<CR>")
--vim.cmd([[
--let $my_vimrc = $localappdata.'/nvim/init.lua'
@@ -32,32 +39,40 @@ map("i", "jj", "<esc>", opts)
--]])
--vim.api.nvim_set_keymap("n", "<leader><CR>", "<cmd>lua ReloadConfig()<CR>", { noremap = true, silent = false })
-vim.api.nvim_set_keymap("n", "<leader><CR>", "<cmd>luafile ~/.config/nvim/init.lua<CR>", { noremap = true, silent = false })
+map("n", "<leader><CR>", "<cmd>luafile ~/.config/nvim/init.lua<CR>", print ("Nvim configuration reloaded"))
+--
+-- vim.notify("Nvim configuration reloaded!", vim.log.levels.INFO)
+
--vim.api.nvim_set_keymap('n', '<Leader>qr', '<cmd>:lua require("plugins.telescope").reload()<CR>', { noremap = true, silent = true })
--Easier split navigations, just ctrl-j instead of ctrl-w then j
-map("n", "<C-J>", "<C-W><C-J>", opts)
-map("n", "<C-K>", "<C-W><C-K>", opts)
-map("n", "<C-L>", "<C-W><C-L>", opts)
-map("n", "<C-H>", "<C-W><C-H>", opts)
+--map("n", "<C-J>", "<C-W><C-J>")
+--map("n", "<C-K>", "<C-W><C-K>")
+--map("n", "<C-L>", "<C-W><C-L>")
+--map("n", "<C-H>", "<C-W><C-H>")
-- Combine buffers list with buffer name
-map("n", "<Leader>b", ":buffers<CR>:buffer<Space>", opts)
+map("n", "<Leader>b", ":buffers<CR>:buffer<Space>")
-- Map buffer next, prev and delete to <leader+(n/p/d)>
-map("n", "<leader>n", ":bn<cr>", opts)
-map("n", "<leader>p", ":bp<cr>", opts)
-map("n", "<leader>d", ":bd<cr>", opts)
+map("n", "<leader>n", ":bn<cr>")
+map("n", "<leader>p", ":bp<cr>")
+map("n", "<leader>d", ":bd<cr>")
-- Disable default completion.
-map('i', '<C-n>', '<Nop>', opts)
-map('i', '<C-p>', '<Nop>', opts)
+map('i', '<C-n>', '<Nop>')
+map('i', '<C-p>', '<Nop>')
-- Set alt + j/k to switch lines of texts or simply move them
-map("n", "<A-k>", ':let save_a=@a<Cr><Up>"add"ap<Up>:let @a=save_a<Cr>', opts)
-map("n", "<A-j>", ':let save_a=@a<Cr>"add"ap:let @a=save_a<Cr>', opts)
+map("n", "<A-k>", ':let save_a=@a<Cr><Up>"add"ap<Up>:let @a=save_a<Cr>')
+map("n", "<A-j>", ':let save_a=@a<Cr>"add"ap:let @a=save_a<Cr>')
+
+map("i", "<C-l>", "<Del>")
+
+map("n", "<leader><C-l>", "<Cmd>!clear<CR>")
+
+map("n", "<leader>y", ":BufferPick<CR>")
-map("n", "<leader><C-l>", "<Cmd>!clear<CR>", opts)
vim.cmd([[
inoremap <A-h> <left>
inoremap <A-j> <down>
@@ -87,74 +102,74 @@ vim.cmd([[
]])
-- move block easily
-map("n", "<", "<<", d("Decrease indent"))
-map("n", ">", ">>", d("Increase indent"))
-map("x", "<", "<gv", d("Increase indent"))
-map("x", ">", ">gv", d("Decrease indent"))
+map("n", "<", "<<", term_opts)
+map("n", ">", ">>", term_opts)
+map("x", "<", "<gv", term_opts)
+map("x", ">", ">gv", term_opts)
-- Resize Panes
-map("n", "<Leader>+", ":resize +5<CR>", opts)
-map("n", "<Leader>-", ":resize -5<CR>", opts)
-map("n", "<Leader><", ":vertical resize +5<CR>", opts)
-map("n", "<Leader>>", ":vertical resize -5<CR>", opts)
-map("n", "<Leader>=", "<C-w>=", opts)
+map("n", "<Leader>+", ":resize +5<CR>")
+map("n", "<Leader>-", ":resize -5<CR>")
+map("n", "<Leader><", ":vertical resize +5<CR>")
+map("n", "<Leader>>", ":vertical resize -5<CR>")
+map("n", "<Leader>=", "<C-w>=")
-- New tab
-map("n", "<C-T>e", ":tabedit", opts)
+map("n", "<C-T>e", ":tabedit")
-- create tab like window
-map("n", "<C-T>h", ":tabprevious<CR>", d("Goto previous tab"))
-map("n", "<C-T>l", ":tabnext<CR>", d("Goto next tab"))
-map("n", "<C-T>n", ":tabnew<CR>", d("Create a new tab"))
+map("n", "<C-T>h", ":tabprevious<CR>")
+map("n", "<C-T>l", ":tabnext<CR>")
+map("n", "<C-T>n", ":tabnew<CR>")
-- Vim TABs
-map("n", "<leader>1", "1gt<CR>", opts)
-map("n", "<leader>2", "2gt<CR>", opts)
-map("n", "<leader>3", "3gt<CR>", opts)
-map("n", "<leader>4", "4gt<CR>", opts)
-map("n", "<leader>5", "5gt<CR>", opts)
-map("n", "<leader>6", "6gt<CR>", opts)
-map("n", "<leader>7", "7gt<CR>", opts)
-map("n", "<leader>8", "8gt<CR>", opts)
-map("n", "<leader>9", "9gt<CR>", opts)
-map("n", "<leader>0", "10gt<CR>", opts)
+map("n", "<leader>1", "1gt<CR>")
+map("n", "<leader>2", "2gt<CR>")
+map("n", "<leader>3", "3gt<CR>")
+map("n", "<leader>4", "4gt<CR>")
+map("n", "<leader>5", "5gt<CR>")
+map("n", "<leader>6", "6gt<CR>")
+map("n", "<leader>7", "7gt<CR>")
+map("n", "<leader>8", "8gt<CR>")
+map("n", "<leader>9", "9gt<CR>")
+map("n", "<leader>0", "10gt<CR>")
-- Split window
-map("n", "<leader>h", ":split<CR>", opts)
-map("n", "<leader>v", ":vsplit<CR>", opts)
-map("n", "<leader>c", "<C-w>c", opts)
+map("n", "<leader>h", ":split<CR>")
+map("n", "<leader>v", ":vsplit<CR>")
+map("n", "<leader>c", "<C-w>c")
-- Toggle set number
-map("n", "<leader>$", ":NumbersToggle<CR>", opts)
-map("n", "<leader>%", ":NumbersOnOff<CR>", opts)
+map("n", "<leader>$", ":NumbersToggle<CR>")
+map("n", "<leader>%", ":NumbersOnOff<CR>")
-- Change mode to executable
-map("n", "<leader>x", ":!chmod +x %<CR>", opts)
+map("n", "<leader>x", ":!chmod +x %<CR>")
-- Paste without replace clipboard
-map("v", "p", '"_dP', opts)
+map("v", "p", '"_dP')
-- Paste end of line
---map("n", ",", "$p", opts)
+--map("n", ",", "$p")
vim.cmd([[
nmap , $p
]])
-- Select entire buffer
-map("v", "<aa>", "gg<S-v>G", opts)
+map("v", "<aa>", "gg<S-v>G")
-- Delete without changing the registers
---map('n', 'x', '"_x', opts)
+--map('n', 'x', '"_x')
-- Select all text in current buffer
--map('n', '<leader>a', ':keepjumps normal! ggVG<cr>')
-- Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in
-- visual mode to select text to swap with
-map("v", "<C-X>", "<Esc>`.``gvP``P", opts)
+map("v", "<C-X>", "<Esc>`.``gvP``P")
-- Search and replace
-map("v", "<leader>sr", 'y:%s/<C-r><C-r>"//g<Left><Left>c', opts)
+map("v", "<leader>sr", 'y:%s/<C-r><C-r>"//g<Left><Left>c')
--vnoremap ; :call Get_visual_selection()<cr>
--
--function! Get_visual_selection()
@@ -192,40 +207,45 @@ vim.cmd([[
map <leader>s :up \| saveas! %:p:r-<C-R>=strftime("%y.%m.%d-%H:%M")<CR>-bak.<C-R>=expand("%:e")<CR> \| 3sleep \| e #<CR>
]])
+-- Execute this file
+--map("n", "<leader><leader>x", ":call scripts#save_and_exec()<CR>", print("save & exec"))
+vim.cmd([[
+ " Execute this file
+ nnoremap <leader><leader>x :call scripts#save_and_exec()<CR>\|:echom "save & exec . . ."<CR>
+
+]])
-------------- Telescope --------------
--Telescope find_files cwd=..
-map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands()<cr>", opts)
+map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands()<cr>")
map(
"n",
"<leader>ft",
- "<cmd>lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))<cr>",
- opts
-)
+ "<cmd>lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))<cr>")
-map("n", "<leader>fg", "<cmd>lua require('telescope.builtin').live_grep()<cr>", opts)
-map("n", "<leader>fb", "<cmd>lua require('telescope.builtin').current_buffer_fuzzy_find()<cr>", opts)
+map("n", "<leader>fg", "<cmd>lua require('telescope.builtin').live_grep()<cr>")
+map("n", "<leader>fb", "<cmd>lua require('telescope.builtin').current_buffer_fuzzy_find()<cr>")
- map("n", "<leader>fd", "<cmd>lua require('telescope.builtin').diagnostics()<cr>", opts)
---map("n", "<leader>fz", ":FZF<CR>", opts)
---map("t", [[<Esc><Esc>]], [[<C-\><C-N>]], opts)
+ map("n", "<leader>fd", "<cmd>lua require('telescope.builtin').diagnostics()<cr>")
+--map("n", "<leader>fz", ":FZF<CR>")
+--map("t", [[<Esc><Esc>]], [[<C-\><C-N>]])
--map("n", "ff", ":NvimTreeToggle<CR>", {})
map("n", "<leader>f", ":NvimTreeToggle<CR>", {})
-- This <Esc><Esc> avoids crashing fzf menu running in TERMINAL MODE (:q if you do)
-- Find files in config dirs
--key_map("n", "<leader>e", ":lua require('plugins.telescope').find_configs()<CR>", opts)
---map("n", "<leader>f.", "<cmd>lua require('plugins.telescope').find_configs({})<cr>", opts)
-map("n", "<leader>ft", "<cmd>lua require('plugins.telescope').file_explorer({})<cr>", opts)
---map("n", "<leader>fd", "<cmd>lua require('plugins.telescope').find_notes({})<cr>", opts)
-map("n", "<leader>fm", "<cmd>lua require('telescope').extensions.media_files.media_files({})<cr>", opts)
+--map("n", "<leader>f.", "<cmd>lua require('plugins.telescope').find_configs({})<cr>")
+map("n", "<leader>ft", "<cmd>lua require('plugins.telescope').file_explorer({})<cr>")
+--map("n", "<leader>fd", "<cmd>lua require('plugins.telescope').find_notes({})<cr>")
+map("n", "<leader>fm", "<cmd>lua require('telescope').extensions.media_files.media_files({})<cr>")
-- registers picker
-map("n", "<leader>r", "<cmd>lua require('telescope.builtin').registers({})<CR>", opts)
+map("n", "<leader>r", "<cmd>lua require('telescope.builtin').registers({})<CR>")
-- find files including gitignored
--keymap(
-- "n",
-- "<leader>fg",
--- "<cmd>lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})<CR>", opts)
+-- "<cmd>lua require('telescope.builtin').find_files({find_command={'fd','--no-ignore-vcs'}})<CR>")
-- open available commands & run it
-map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands({results_title='Commands Results'})<CR>", opts)
+map("n", "<leader>fc", "<cmd>lua require('telescope.builtin').commands({results_title='Commands Results'})<CR>")
-------------- Autopairs --------------
Toggle_autopairs = function()
@@ -259,7 +279,7 @@ vim.cmd([[
endfunction
nnoremap <leader>tb :call Toggle_transparent_background()<CR>
]])
---keymap('n', '<leader>tb', ':Toggle_transparent_background<CR>', opts)
+--keymap('n', '<leader>tb', ':Toggle_transparent_background<CR>')
-- Toggle zoom
vim.cmd([[
@@ -276,10 +296,10 @@ vim.cmd([[
endfunction
command! ZoomToggle call s:ZoomToggle()
]])
-map("n", "<leader>z", ":ZoomToggle<CR>", opts)
+map("n", "<leader>z", ":ZoomToggle<CR>")
-- "Zoom" a split window into a tab and/or close it
---keymap('n', '<Leader>,', ':tabnew %<CR>', opts)
---keymap('n', '<Leader>.', ':tabclose<CR>', opts)
+--keymap('n', '<Leader>,', ':tabnew %<CR>')
+--keymap('n', '<Leader>.', ':tabclose<CR>')
-- Open last closed buffer
vim.cmd([[
@@ -303,7 +323,7 @@ vim.cmd([[
execute 'b ' . last_buf
endfunction
]])
-map("n", "<C-t>", ":call OpenLastClosed() <CR>", opts)
+map("n", "<C-t>", ":call OpenLastClosed() <CR>")
-- Tabularize
vim.cmd([[
@@ -329,8 +349,8 @@ vim.cmd([[
--EasyAlign /--/
--:'<,'>Tabularize /--
-map("n", "<leader>,", ":hide<CR>", opts)
-map("n", "<leader>.", ":unhide<CR>", opts)
+map("n", "<leader>,", ":hide<CR>")
+map("n", "<leader>.", ":unhide<CR>")
--" Clean trailing whitespace
--nnoremap <leader>ww mz:%s/\s\+$//<cr>:let @/=''<cr>`z
@@ -339,12 +359,12 @@ map("n", "<leader>.", ":unhide<CR>", opts)
--vim.api.nvim_create_user_command('W', 'w !sudo tee > /dev/null %', {})
-- Copy and Paste with <C-c> and <C-v>
---keymap('n', '<expr> p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'', opts)
+--keymap('n', '<expr> p', (v:register =--= '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')'')
-- Use command :Vb for Visual Block or <C-q> since <C-v> is used for Copy
--command! Vb normal! <C-v>
-- Map <w!!> to save/edit a root permission/read-only file, only works in
-- traditional vim and not neovim
---keymap('c', 'w!! %!sudo tee > /dev/null', opts)
+--keymap('c', 'w!! %!sudo tee > /dev/null')
--" Copying text to the system clipboard.
--"
--" For some reason Vim no longer wants to talk to the OS X pasteboard through "*.
@@ -385,8 +405,8 @@ map("n", "<leader>.", ":unhide<CR>", opts)
---- Open the current file in the default program (on Mac this should just be just `open`)
--keymap('n', '<leader>x', ':!xdg-open %<cr><cr>')
-map("n", "<leader>ff", "<cmd>lua require('telescope.builtin').find_files()<cr>", opts)
---keymap("n", "<leader>ff", "<cmd>lua require('telescope.builtin').find_files cwd=..()<cr>", opts)
+map("n", "<leader>ff", "<cmd>lua require('telescope.builtin').find_files()<cr>")
+--keymap("n", "<leader>ff", "<cmd>lua require('telescope.builtin').find_files cwd=..()<cr>")
--keymap('n', '<leader>k', ':nohlsearch<CR>')
--
--"This unsets the "last search pattern" register by hitting return
@@ -407,8 +427,8 @@ vim.cmd([[
---- http://ddrscott.github.io/blog/2016/yank-without-jank/
--keymap('v', 'y', 'myy`y')
--keymap('v', 'Y', 'myY`y')
---keymap("n", "<C-q>", ":q<cr>", opts)
---keymap("n", "<C-M-q>", ":qa!<cr>", opts)
+--keymap("n", "<C-q>", ":q<cr>")
+--keymap("n", "<C-M-q>", ":qa!<cr>")
--" Sort lines
--nnoremap <leader>s vip:!sort<cr>
@@ -525,7 +545,7 @@ vim.cmd([[
-- ALE: toggle _ALE activity
--keymap('n', '<leader>a',[[:ALEToggle<CR>]])
---keymap('n', '<Leader>cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})<CR>', opts)
--- ":lua require('neogen').generate()<CR>", opts)
---keymap("n", "<leader>ww", ":set wrap!<CR>", opts)
+--keymap('n', '<Leader>cd', ':call fzf#run({'source': 'fd -t d -H . ~', 'sink': 'cd'})<CR>')
+-- ":lua require('neogen').generate()<CR>")
+--keymap("n", "<leader>ww", ":set wrap!<CR>")
--
diff --git a/lua/user/luasnip.lua b/lua/user/luasnip.lua
index 12352e8..7a6066e 100644
--- a/lua/user/luasnip.lua
+++ b/lua/user/luasnip.lua
@@ -4,7 +4,8 @@ end
--local luasnip = require("luasnip")
local ls = require "luasnip" --
local types = require "luasnip.util.types" --
-local options = {
+--local options = {
+ls.config.set_config {
history = true,
updateevents = "TextChanged,TextChangedI",
-- Autosnippets:
@@ -17,45 +18,113 @@ local options = {
}, --
}, --
}
--- <c-k> is my expansion key
--- this will expand the current item or jump to the next item within the snippet.
-vim.keymap.set({ "i", "s" }, "<c-.>", function()
- if ls.expand_or_jumpable() then
- ls.expand_or_jump()
- end
-end, { silent = true })
+-- ls.expand_or_jump()
+-- end
+--nd, { silent = true })
-- <c-j> is my jump backwards key.
-- this always moves to the previous item within the snippet
-vim.keymap.set({ "i", "s" }, "<c-,>", function()
- if ls.jumpable(-1) then
- ls.jump(-1)
- end
-end, { silent = true })
+--im.keymap.set({ "i", "s" }, "<C-j>", function()
+-- if ls.jumpable(-1) then
+-- ls.jump(-1)
+-- end
+--nd, { silent = true })
-- <c-l> is selecting within a list of options.
-- This is useful for choice nodes (introduced in the forthcoming episode 2)
-vim.keymap.set("i", "<c-l>", function()
- if ls.choice_active() then
- ls.change_choice(1)
- end
-end)
+--vim.keymap.set("i", "<c-l>", function()
+-- if ls.choice_active() then
+-- ls.change_choice(1)
+-- end
+--end)
-vim.keymap.set("i", "<c-c>", require "luasnip.extras.select_choice")
+--vim.keymap.set("i", "<c-z>", require "luasnip.extras.select_choice")
-- shorcut to source my luasnips file again, which will reload my snippets
-vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/lua/plugins/luasnip.lua<CR>")
+--vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/lua/user/plugins/luasnip.lua<CR>")
-- ls.parser.parse_snippet(<text>, <VS**** style snippet>)
-ls.snippets = {
- all = {
- -- Available in any filetype
- ls.parser.parse_snippet("expand", "-- this is what was expanded!"),
- },
- lua = {
- -- Lua specific snippets go here.
- },
-}
+--ls.snippets = {
+-- all = {
+-- -- Available in any filetype
+-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"),
+--s.snippets = {
+-- all = {
+-- -- Available in any filetype
+-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"),
+-- },
+-- lua = {
+-- -- Lua specific snippets go here.
+-- ls.parser.parse_snippet("lf", "local $1 = function($2)\n $0\nend")
+-- },
+--
+--})
+local snip = ls.snippet
+local node = ls.snippet_node
+local text = ls.text_node
+local insert = ls.insert_node
+local func = ls.function_node
+local choice = ls.choice_node
+local dynamicn = ls.dynamic_node
+
+local date = function() return {os.date('%Y-%m-%d')} end
+
+ls.add_snippets(nil, {
+ all = {
+ --snip({
+ -- trig = "date",
+ -- namr = "Date",
+ -- dscr = "Date in the form of YYYY-MM-DD",
+ --}, {
+ -- func(date, {}),
+ --}),
+ snip({
+ trig = "meta",
+ namr = "Metadata",
+ dscr = "Yaml metadata format for markdown"
+},
+{
+ }),
+ },
+})
+--local opts = { noremap = true, silent = true }
+--keymap("i", "<C-j>", "<cmd>lua require'luasnip'.jump(1)<CR>", opts)
+--keymap("s", "<C-j>", "<cmd>lua require'luasnip'.jump(1)<CR>", opts)
+--keymap("i", "<C-k>", "<cmd>lua require'luasnip'.jump(-1)<CR>", opts)
+--local keymap = vim.api.nvim_set_keymap
+local keymap = vim.keymap
+local term_opts = { noremap = true, silent = false }
+ local map = function(mode, l, r, opts)
+ opts = opts or {}
+ opts.silent = true
+ opts.noremap = true
+ keymap.set(mode, l, r, opts)
+ end
+
+map("i", "<C-j>", "<Plug>luasnip-expand-or-jump<CR>")
+map("i", "<C-k>", "<Plug>luasnip-jump-prev * <Cmd>lua require'luasnip'.jump(-1)<CR>")
+map("s", "<C-j>", "<Plug>luasnip-expand-or-jump<CR>")
+map("s", "<C-k>", "<Plug>luasnip-jump-prev * <Cmd>lua require'luasnip'.jump(-1)<CR>")
+--keymap("s", "<C-k>", "<cmd>lua require'luasnip'.jump(-1)<CR>", opts)
+--map("i", "<C-j>", "<Plug>luasnip-expand-or-jump<CR>")
+
+--! <Plug>luasnip-expand-repeat * <Cmd>lua require'luasnip'.expand_repeat()<CR>
+--! <Plug>luasnip-delete-check * <Cmd>lua require'luasnip'.unlink_current_if_deleted()<CR>
+--i <Plug>luasnip-jump-prev * <Cmd>lua require'luasnip'.jump(-1)<CR>
+--i <Plug>luasnip-jump-next * <Cmd>lua require'luasnip'.jump(1)<CR>
+--i <Plug>luasnip-prev-choice * <Cmd>lua require'luasnip'.change_choice(-1)<CR>
+--i <Plug>luasnip-next-choice * <Cmd>lua require'luasnip'.change_choice(1)<CR>
+--i <Plug>luasnip-expand-snippet * <Cmd>lua require'luasnip'.expand()<CR>
+--i <Plug>luasnip-expand-or-jump * <Cmd>lua require'luasnip'.expand_or_jump()<CR>
+
+
+
+
+
+
+
+
+
diff --git a/lua/user/opts.lua b/lua/user/opts.lua
index 51b3628..3200cd5 100644
--- a/lua/user/opts.lua
+++ b/lua/user/opts.lua
@@ -53,6 +53,7 @@ vim.opt.ttimeoutlen = 10 --
-- Indent/tab
vim.opt.breakindent = true --
vim.opt.autoindent = true -- Indent according to previous line.
+vim.opt.copyindent = true -- Copy indent from the previous line
vim.opt.smarttab = false --
vim.opt.tabstop = 2 --
vim.opt.expandtab = true -- Indent according to previous line.
diff --git a/lua/user/pack.lua b/lua/user/pack.lua
index 8df4216..55b52cd 100644
--- a/lua/user/pack.lua
+++ b/lua/user/pack.lua
@@ -174,7 +174,8 @@ return packer.startup(function(use)
use("saadparwaiz1/cmp_luasnip")
-- snippets
- use("L3MON4D3/LuaSnip") --snippet engine
+ --use("L3MON4D3/LuaSnip") --snippet engine
+ use({"L3MON4D3/LuaSnip", tag = "v<CurrentMajor>.*"})
use("rafamadriz/friendly-snippets") -- a bunch of snippets to use
--use("github/copilot.vim")
--use({
@@ -301,7 +302,7 @@ return packer.startup(function(use)
-- Utilities
use("nathom/filetype.nvim")
- use("christoomey/vim-tmux-navigator")
+ --use("christoomey/vim-tmux-navigator")
--use("preservim/vimux")
use("myusuf3/numbers.vim")
use("windwp/nvim-autopairs")