]> git.r.bdr.sh - rbdr/dotfiles/blobdiff - config/nvim/init.lua
Make kitty tabs pilly
[rbdr/dotfiles] / config / nvim / init.lua
index 02f5bd5cbb5f05725364c593bba8ef98d52c9bc7..e1e61f631b9791edb40ec73edcbb60e17a441e06 100644 (file)
@@ -5,11 +5,12 @@
 vim.opt.number = true                       -- Show number column
 vim.opt.wrap = false                        -- Don't wrap text
 vim.opt.list = true                         -- Display tabs and trailing space
+vim.opt.cursorline = true                   -- Highlight cursor line
 vim.opt.colorcolumn='80,150'                -- Show color columns
 
 -- Color
 vim.opt.termguicolors = true
-vim.cmd.color('rbdr')
+vim.cmd.color('tranquil')
 
 -- Tab Style (Always override with editorconfig)
 vim.opt.tabstop = 2                         -- 2 Spaces per tab
@@ -26,7 +27,6 @@ vim.opt.smartcase = true                    -- Unless we use both cases in searc
 
 -- Autocomplete Behavior
 vim.opt.wildmode = 'list:longest,list:full' -- Autocomplete common matching string
-                                            -- first, and then the full match.
 
 -- Folding Behavior
 vim.opt.foldmethod = 'syntax'               -- Use syntax highlight to define folds
@@ -55,6 +55,12 @@ vim.keymap.set('i',  '<C-S-k>', '<Esc>:m .-2<CR>==gi')
 vim.keymap.set('v', '<C-S-j>', ':m \'>+1<CR>gv=gv')
 vim.keymap.set('v', '<C-S-k>', ':m \'<-2<CR>gv=gv')
 
+-- Navigate the location list
+vim.keymap.set('n', '<M-j>', ':lnext<CR>')
+vim.keymap.set('n', '<M-k>', ':lprev<CR>')
+vim.keymap.set('n', '<M-S-j>', ':cnext<CR>')
+vim.keymap.set('n', '<M-S-k>', ':cprev<CR>')
+
 -------------------------------------------------------------------------------
 -- File Specific Behavior
 -------------------------------------------------------------------------------
@@ -70,6 +76,11 @@ vim.api.nvim_create_autocmd({'BufNewFile', 'BufRead'}, {
   callback = function () vim.opt.filetype = 'snes' end
 })
 
+vim.api.nvim_create_autocmd({'BufNewFile', 'BufRead'}, {
+  pattern = {'.plan'},
+  callback = function () vim.opt.filetype = 'markdown' end
+})
+
 -------------------------------------------------------------------------------
 -- Local Overrides
 -------------------------------------------------------------------------------
@@ -79,49 +90,34 @@ pcall(require, 'init_local')
 -- Plugin Specific Behavior
 -------------------------------------------------------------------------------
 -- FZF
-vim.keymap.set('', '<C-P>', ':FZF <CR>')
-vim.g.fzf_layout = { down = '40%' }
-vim.g.fzf_colors = {
-  fg = {'fg', 'Normal'},
-  bg = {'bg', 'Normal'},
-  hl = {'fg', 'Comment'},
-  ['fg+'] = {'fg', 'CursorLine', 'CursorColumn', 'Normal'},
-  ['bg+'] = {'bg', 'CursorLine', 'CursorColumn'},
-  ['hl+'] = {'fg', 'Statement'},
-  info = {'fg', 'PreProc'},
-  border = {'fg', 'Ignore'},
-  prompt = {'fg', 'Conditional'},
-  pointer = {'fg', 'Exception'},
-  marker = {'fg', 'Keyword'},
-  spinner = {'fg', 'Label'},
-  header = {'fg', 'Comment'}
-}
+vim.keymap.set('n', '<c-P>',
+  "<cmd>lua require('fzf-lua').files({ fzf_opts = {} })<CR>", { silent = true })
 
+-- Toggle Autosave
+vim.api.nvim_set_keymap('n', '<leader>n', ':ASToggle<CR>', {})
 
 -- Svelte Config
 vim.g.vim_svelte_plugin_use_typescript = true
 
--- Limelight / Goyo config
+-- Coq
+vim.g.coq_settings = {
+  auto_start = 'shut-up',
+  clients = {
+    snippets = {
+      warn = {}
+    }
+  }
+}
 
-vim.g.limelight_conceal_ctermfg = 'gray'
-vim.g.limelight_conceal_guifg = 'DarkGray'
+-- Oil
+vim.keymap.set("n", "-", "<CMD>Oil<CR>", { desc = "Open parent directory" })
 
-vim.api.nvim_create_autocmd({'User'}, {
-  pattern = 'GoyoEnter',
-  callback = 'Limelight'
-})
-vim.api.nvim_create_autocmd({'User'}, {
-  pattern = 'GoyoLeave',
-  callback = 'Limelight!'
-})
---[[
-nnoremap <leader>i :Limelight!!<CR>==
-inoremap <leader>i <Esc>:Limelight!!<CR>==gi
-vnoremap <leader>i :<C-u>Limelight!!<CR>gv=gv
-nnoremap <leader>g :Goyo<CR>==
-inoremap <leader>g <Esc>:Goyo<CR>==gi
-vnoremap <leader>g :<C-u>Goyo<CR>gv=gv
-]]--
+-- UndoTree
+vim.keymap.set('n', '<leader>U', vim.cmd.UndotreeToggle)
 
 -- Plugins
 require('plugins')
+require('treesitter_config')
+require('lsp')
+require('dap_config')
+require('calendar_tools')