@@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
102102vim .opt .number = true
103103-- You can also add relative line numbers, to help with jumping.
104104-- Experiment for yourself to see if you like it!
105- -- vim.opt.relativenumber = true
105+ vim .opt .relativenumber = true
106106
107107-- Enable mouse mode, can be useful for resizing splits for example!
108108vim .opt .mouse = ' a'
@@ -175,10 +175,10 @@ vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagn
175175vim .keymap .set (' t' , ' <Esc><Esc>' , ' <C-\\ ><C-n>' , { desc = ' Exit terminal mode' })
176176
177177-- TIP: Disable arrow keys in normal mode
178- -- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
179- -- vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
180- -- vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
181- -- vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
178+ vim .keymap .set (' n' , ' <left>' , ' <cmd>echo "Use h to move!!"<CR>' )
179+ vim .keymap .set (' n' , ' <right>' , ' <cmd>echo "Use l to move!!"<CR>' )
180+ vim .keymap .set (' n' , ' <up>' , ' <cmd>echo "Use k to move!!"<CR>' )
181+ vim .keymap .set (' n' , ' <down>' , ' <cmd>echo "Use j to move!!"<CR>' )
182182
183183-- Keybinds to make split navigation easier.
184184-- Use CTRL+<hjkl> to switch between windows
@@ -229,7 +229,18 @@ vim.opt.rtp:prepend(lazypath)
229229require (' lazy' ).setup ({
230230 -- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
231231 ' tpope/vim-sleuth' , -- Detect tabstop and shiftwidth automatically
232-
232+ ' ionide/Ionide-vim' ,
233+ {
234+ ' DanielGavin/ols' ,
235+ opts = {
236+ init_options = {
237+ checker_args = ' -strict-style' ,
238+ collections = {
239+ { name = ' shared' , path = vim .fn .expand ' $HOME/odin-lib' },
240+ },
241+ },
242+ },
243+ },
233244 -- NOTE: Plugins can also be added by using a table,
234245 -- with the first argument being the link and the following
235246 -- keys can be used to configure plugin behavior/loading/etc.
@@ -435,6 +446,18 @@ require('lazy').setup({
435446 vim .keymap .set (' n' , ' <leader>sn' , function ()
436447 builtin .find_files { cwd = vim .fn .stdpath ' config' }
437448 end , { desc = ' [S]earch [N]eovim files' })
449+ -- Shortcut for searching your Odin source files
450+ vim .keymap .set (' n' , ' <leader>so' , function ()
451+ builtin .find_files { cwd = ' /home/default/.odin' }
452+ end , { desc = ' [S]earch [O]din source files' })
453+ -- Shortcut for searching your Odin source files
454+ vim .keymap .set (' n' , ' <leader>sog' , function ()
455+ builtin .live_grep { cwd = ' /home/default/.odin' }
456+ end , { desc = ' [S]earch [O]din by [G]rep' })
457+ -- Shortcut for fuzzy finding your Odin source files
458+ vim .keymap .set (' n' , ' <leader>sof' , function ()
459+ builtin .grep_string { shorten_path = true , word_match = ' -w' , only_sort_text = true , search = ' ' , cwd = ' /home/default/.odin' }
460+ end , { desc = ' [S]earch [O]din by [F]uzzy' })
438461 end ,
439462 },
440463
@@ -461,7 +484,7 @@ require('lazy').setup({
461484 { ' williamboman/mason.nvim' , opts = {} },
462485 ' williamboman/mason-lspconfig.nvim' ,
463486 ' WhoIsSethDaniel/mason-tool-installer.nvim' ,
464-
487+ ' nvim-java/nvim-java ' ,
465488 -- Useful status updates for LSP.
466489 { ' j-hui/fidget.nvim' , opts = {} },
467490
@@ -616,6 +639,8 @@ require('lazy').setup({
616639 -- - settings (table): Override the default settings passed when initializing the server.
617640 -- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
618641 local servers = {
642+ fsautocomplete = {},
643+ -- jdtls = {},
619644 -- clangd = {},
620645 -- gopls = {},
621646 -- pyright = {},
@@ -626,7 +651,7 @@ require('lazy').setup({
626651 -- https://github.com/pmizio/typescript-tools.nvim
627652 --
628653 -- But for many setups, the LSP (`ts_ls`) will work just fine
629- -- ts_ls = {},
654+ -- ts_ls = {},
630655 --
631656
632657 lua_ls = {
@@ -665,6 +690,8 @@ require('lazy').setup({
665690 require (' mason-tool-installer' ).setup { ensure_installed = ensure_installed }
666691
667692 require (' mason-lspconfig' ).setup {
693+ ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
694+ automatic_installation = false ,
668695 handlers = {
669696 function (server_name )
670697 local server = servers [server_name ] or {}
@@ -902,7 +929,7 @@ require('lazy').setup({
902929 main = ' nvim-treesitter.configs' , -- Sets main module to use for opts
903930 -- [[ Configure Treesitter ]] See `:help nvim-treesitter`
904931 opts = {
905- ensure_installed = { ' bash' , ' c' , ' diff' , ' html' , ' lua' , ' luadoc' , ' markdown' , ' markdown_inline' , ' query' , ' vim' , ' vimdoc' },
932+ ensure_installed = { ' bash' , ' c' , ' diff' , ' html' , ' lua' , ' luadoc' , ' markdown' , ' markdown_inline' , ' query' , ' vim' , ' vimdoc' , ' java ' },
906933 -- Autoinstall languages that are not installed
907934 auto_install = true ,
908935 highlight = {
0 commit comments