@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
9191vim .g .maplocalleader = ' '
9292
9393-- Set to true if you have a Nerd Font installed and selected in the terminal
94- vim .g .have_nerd_font = false
94+ vim .g .have_nerd_font = true
9595
9696-- [[ Setting options ]]
9797-- See `:help vim.opt`
@@ -146,7 +146,7 @@ vim.opt.splitbelow = true
146146-- See `:help 'list'`
147147-- and `:help 'listchars'`
148148vim .opt .list = true
149- vim .opt .listchars = { tab = ' » ' , trail = ' ·' , nbsp = ' ␣' }
149+ vim .opt .listchars = { tab = ' » ' , trail = ' ·' , nbsp = ' ␣' , lead = ' . ' }
150150
151151-- Preview substitutions live, as you type!
152152vim .opt .inccommand = ' split'
@@ -189,14 +189,49 @@ vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left wind
189189vim .keymap .set (' n' , ' <C-l>' , ' <C-w><C-l>' , { desc = ' Move focus to the right window' })
190190vim .keymap .set (' n' , ' <C-j>' , ' <C-w><C-j>' , { desc = ' Move focus to the lower window' })
191191vim .keymap .set (' n' , ' <C-k>' , ' <C-w><C-k>' , { desc = ' Move focus to the upper window' })
192+ --
193+ -- Resize window using <ctrl><shift> arrow keys
194+ vim .keymap .set (' n' , ' <C-S-Up>' , ' <cmd>resize +2<cr>' , { desc = ' Increase Window Height' })
195+ vim .keymap .set (' n' , ' <C-S-Down>' , ' <cmd>resize -2<cr>' , { desc = ' Decrease Window Height' })
196+ vim .keymap .set (' n' , ' <C-S-Left>' , ' <cmd>vertical resize -2<cr>' , { desc = ' Decrease Window Width' })
197+ vim .keymap .set (' n' , ' <C-S-Right>' , ' <cmd>vertical resize +2<cr>' , { desc = ' Increase Window Width' })
198+
199+ -- Move Lines
200+ vim .keymap .set (' n' , ' <A-j>' , " <cmd>execute 'move .+' . v:count1<cr>==" , { desc = ' Move Down' })
201+ vim .keymap .set (' n' , ' <A-k>' , " <cmd>execute 'move .-' . (v:count1 + 1)<cr>==" , { desc = ' Move Up' })
202+ vim .keymap .set (' i' , ' <A-j>' , ' <esc><cmd>m .+1<cr>==gi' , { desc = ' Move Down' })
203+ vim .keymap .set (' i' , ' <A-k>' , ' <esc><cmd>m .-2<cr>==gi' , { desc = ' Move Up' })
204+ vim .keymap .set (' v' , ' <A-j>' , " :<C-u>execute \" '<,'>move '>+\" . v:count1<cr>gv=gv" , { desc = ' Move Down' })
205+ vim .keymap .set (' v' , ' <A-k>' , " :<C-u>execute \" '<,'>move '<-\" . (v:count1 + 1)<cr>gv=gv" , { desc = ' Move Up' })
206+ --
207+ -- buffers
208+ vim .keymap .set (' n' , ' <S-h>' , ' <cmd>bprevious<cr>' , { desc = ' Prev Buffer' })
209+ vim .keymap .set (' n' , ' <S-l>' , ' <cmd>bnext<cr>' , { desc = ' Next Buffer' })
210+ vim .keymap .set (' n' , ' [b' , ' <cmd>bprevious<cr>' , { desc = ' Prev Buffer' })
211+ vim .keymap .set (' n' , ' ]b' , ' <cmd>bnext<cr>' , { desc = ' Next Buffer' })
212+ vim .keymap .set (' n' , ' <leader>bb' , ' <cmd>e #<cr>' , { desc = ' Switch to Other Buffer' })
213+ -- vim.keymap.set('n', '<leader>`', '<cmd>e #<cr>', { desc = 'Switch to Other Buffer' })
214+ vim .keymap .set (' n' , ' <leader>bd' , ' <cmd>bdelete<cr>' , { desc = ' Delete Buffer' })
215+ --
216+ -- Add undo break-points
217+ vim .keymap .set (' i' , ' ,' , ' ,<c-g>u' )
218+ vim .keymap .set (' i' , ' .' , ' .<c-g>u' )
219+ vim .keymap .set (' i' , ' ;' , ' ;<c-g>u' )
220+
221+ -- better indenting: stay in visual mode after indent
222+ vim .keymap .set (' v' , ' <' , ' <gv' )
223+ vim .keymap .set (' v' , ' >' , ' >gv' )
192224
193- -- [[ Basic Autocommands ]]
194- -- See `:help lua-guide-autocommands`
225+ -- save file
226+ vim . keymap . set ({ ' i ' , ' x ' , ' n ' , ' s ' }, ' <c-s> ' , ' <cmd>w<cr><esc> ' , { desc = ' save file ' })
195227
196- -- Highlight when yanking (copying) text
197- -- Try it with `yap` in normal mode
198- -- See `:help vim.highlight.on_yank()`
199- vim .api .nvim_create_autocmd (' TextYankPost' , {
228+ -- [[ basic autocommands ]]
229+ -- see `:help lua-guide-autocommands`
230+
231+ -- highlight when yanking (copying) text
232+ -- try it with `yap` in normal mode
233+ -- see `:help vim.highlight.on_yank()`
234+ vim .api .nvim_create_autocmd (' textyankpost' , {
200235 desc = ' Highlight when yanking (copying) text' ,
201236 group = vim .api .nvim_create_augroup (' kickstart-highlight-yank' , { clear = true }),
202237 callback = function ()
@@ -332,6 +367,19 @@ require('lazy').setup({
332367 --
333368 -- Use the `dependencies` key to specify the dependencies of a particular plugin
334369
370+ {
371+ ' nvim-telescope/telescope-file-browser.nvim' ,
372+ dependencies = { ' nvim-telescope/telescope.nvim' , ' nvim-lua/plenary.nvim' },
373+ -- keys = {
374+ -- {
375+ -- '<leader>e',
376+ -- ':Telescope file_browser path=%:p:h select_buffer=true follow_symlinks=true no_ignore=true<CR>',
377+ -- desc = 'Browse current file',
378+ -- },
379+ -- { '<leader>e', '<leader>e', desc = 'Browse Files', remap = true },
380+ -- },
381+ },
382+
335383 { -- Fuzzy Finder (files, lsp, etc)
336384 ' nvim-telescope/telescope.nvim' ,
337385 event = ' VimEnter' ,
@@ -389,6 +437,20 @@ require('lazy').setup({
389437 -- },
390438 -- pickers = {}
391439 extensions = {
440+ file_browser = {
441+ -- theme = "ivy",
442+ hijack_netrw = true ,
443+ -- mappings = {
444+ -- ["i"] = {
445+ -- -- your custom insert mode mappings
446+ -- },
447+ -- ["n"] = {
448+ -- -- your custom normal mode mappings
449+ -- },
450+ -- },
451+ display_stat = false ,
452+ -- display_stat = { date = false, size = true, mode = false },
453+ },
392454 [' ui-select' ] = {
393455 require (' telescope.themes' ).get_dropdown (),
394456 },
@@ -398,19 +460,29 @@ require('lazy').setup({
398460 -- Enable Telescope extensions if they are installed
399461 pcall (require (' telescope' ).load_extension , ' fzf' )
400462 pcall (require (' telescope' ).load_extension , ' ui-select' )
463+ pcall (require (' telescope' ).load_extension , ' file_browser' )
401464
402465 -- See `:help telescope.builtin`
403466 local builtin = require ' telescope.builtin'
404467 vim .keymap .set (' n' , ' <leader>sh' , builtin .help_tags , { desc = ' [S]earch [H]elp' })
405468 vim .keymap .set (' n' , ' <leader>sk' , builtin .keymaps , { desc = ' [S]earch [K]eymaps' })
406- vim .keymap .set (' n' , ' <leader>sf' , builtin .find_files , { desc = ' [S]earch [F]iles' })
469+ -- vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles' })
470+ vim .keymap .set (' n' , ' <leader><leader>' , builtin .find_files , { desc = ' [S]earch [F]iles' })
407471 vim .keymap .set (' n' , ' <leader>ss' , builtin .builtin , { desc = ' [S]earch [S]elect Telescope' })
408472 vim .keymap .set (' n' , ' <leader>sw' , builtin .grep_string , { desc = ' [S]earch current [W]ord' })
409473 vim .keymap .set (' n' , ' <leader>sg' , builtin .live_grep , { desc = ' [S]earch by [G]rep' })
410474 vim .keymap .set (' n' , ' <leader>sd' , builtin .diagnostics , { desc = ' [S]earch [D]iagnostics' })
411475 vim .keymap .set (' n' , ' <leader>sr' , builtin .resume , { desc = ' [S]earch [R]esume' })
412476 vim .keymap .set (' n' , ' <leader>s.' , builtin .oldfiles , { desc = ' [S]earch Recent Files ("." for repeat)' })
413- vim .keymap .set (' n' , ' <leader><leader>' , builtin .buffers , { desc = ' [ ] Find existing buffers' })
477+ -- vim.keymap.set('n', '<leader><leader>', builtin.buffers, { desc = '[ ] Find existing buffers' })
478+ vim .keymap .set (' n' , ' <leader>b' , builtin .buffers , { desc = ' [B] Find existing [B]uffers' })
479+
480+ vim .keymap .set (
481+ ' n' ,
482+ ' <leader>e' ,
483+ ' :Telescope file_browser path=%:p:h select_buffer=true follow_symlinks=true no_ignore=true<CR>' ,
484+ { desc = ' [S]earch File [E]ditor' }
485+ )
414486
415487 -- Slightly advanced example of overriding default behavior and theme
416488 vim .keymap .set (' n' , ' <leader>/' , function ()
@@ -632,6 +704,14 @@ require('lazy').setup({
632704 },
633705 },
634706 },
707+ erlangls = {
708+ -- cmd = { '/Users/lasiva/bin/erlang_ls' },
709+ root_dir = function (fname )
710+ local root_pattern = require (' lspconfig' ).util .root_pattern ' erlang_ls.config' (fname )
711+ return root_pattern
712+ end ,
713+ },
714+ sqlls = {},
635715 }
636716
637717 -- Ensure the servers and tools above are installed
@@ -640,7 +720,11 @@ require('lazy').setup({
640720 -- :Mason
641721 --
642722 -- You can press `g?` for help in this menu.
643- require (' mason' ).setup ()
723+ require (' mason' ).setup {
724+ registries = {
725+ ' file:/Users/lasiva/Documents/priv/mason-registry' ,
726+ },
727+ }
644728
645729 -- You can add other tools here that you want Mason to install
646730 -- for you, so that they are available from within Neovim.
@@ -929,7 +1013,7 @@ require('lazy').setup({
9291013 --
9301014 -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
9311015 -- For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins`
932- -- { import = 'custom.plugins' },
1016+ { import = ' custom.plugins' },
9331017}, {
9341018 ui = {
9351019 -- If you are using a Nerd Font: set icons to an empty table which will use the
0 commit comments