@@ -87,11 +87,11 @@ P.S. You can delete this when you're done too. It's your config now! :)
8787-- Set <space> as the leader key
8888-- See `:help mapleader`
8989-- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used)
90- vim .g .mapleader = ' '
91- vim .g .maplocalleader = ' '
90+ vim .g .mapleader = ' , '
91+ vim .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.o`
@@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
102102vim .o .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.o .relativenumber = true
105+ vim .opt .relativenumber = true
106106
107107-- Enable mouse mode, can be useful for resizing splits for example!
108108vim .o .mouse = ' a'
@@ -247,7 +247,10 @@ rtp:prepend(lazypath)
247247-- NOTE: Here is where you install your plugins.
248248require (' lazy' ).setup ({
249249 -- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
250- ' NMAC427/guess-indent.nvim' , -- Detect tabstop and shiftwidth automatically
250+ {
251+ ' NMAC427/guess-indent.nvim' , -- Detect tabstop and shiftwidth automatically
252+ opts = {},
253+ },
251254
252255 -- NOTE: Plugins can also be added by using a table,
253256 -- with the first argument being the link and the following
@@ -429,6 +432,7 @@ require('lazy').setup({
429432 vim .keymap .set (' n' , ' <leader>sh' , builtin .help_tags , { desc = ' [S]earch [H]elp' })
430433 vim .keymap .set (' n' , ' <leader>sk' , builtin .keymaps , { desc = ' [S]earch [K]eymaps' })
431434 vim .keymap .set (' n' , ' <leader>sf' , builtin .find_files , { desc = ' [S]earch [F]iles' })
435+ vim .keymap .set (' n' , ' <C-f>' , builtin .find_files , { desc = ' [S]earch [F]iles' })
432436 vim .keymap .set (' n' , ' <leader>ss' , builtin .builtin , { desc = ' [S]earch [S]elect Telescope' })
433437 vim .keymap .set (' n' , ' <leader>sw' , builtin .grep_string , { desc = ' [S]earch current [W]ord' })
434438 vim .keymap .set (' n' , ' <leader>sg' , builtin .live_grep , { desc = ' [S]earch by [G]rep' })
@@ -672,18 +676,30 @@ require('lazy').setup({
672676 -- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
673677 local servers = {
674678 -- clangd = {},
675- -- gopls = {},
676- -- pyright = {},
677- -- rust_analyzer = {},
679+ gopls = {},
680+ pyright = {},
681+ rust_analyzer = {
682+ settings = {
683+ [' rust-analyzer' ] = {
684+ procMacro = { enable = true },
685+ },
686+ },
687+ },
678688 -- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
679689 --
680690 -- Some languages (like typescript) have entire language plugins that can be useful:
681691 -- https://github.com/pmizio/typescript-tools.nvim
682692 --
683693 -- But for many setups, the LSP (`ts_ls`) will work just fine
684- -- ts_ls = {},
694+ ts_ls = {},
685695 --
686696
697+ -- Open API
698+ -- spectral = {},
699+ -- vacuum = {},
700+
701+ yamlls = {},
702+
687703 lua_ls = {
688704 -- cmd = { ... },
689705 -- filetypes = { ... },
@@ -698,6 +714,15 @@ require('lazy').setup({
698714 },
699715 },
700716 },
717+ -- PHP
718+ intelephense = {},
719+ }
720+ vim .filetype .add {
721+ pattern = {
722+ [' openapi.*%.ya?ml' ] = ' yaml.openapi' ,
723+ [' .*.oas.ya?ml' ] = ' yaml.openapi' ,
724+ [' openapi.*%.json' ] = ' json.openapi' ,
725+ },
701726 }
702727
703728 -- Ensure the servers and tools above are installed
@@ -761,18 +786,20 @@ require('lazy').setup({
761786 return nil
762787 else
763788 return {
764- timeout_ms = 500 ,
789+ timeout_ms = 5000 ,
765790 lsp_format = ' fallback' ,
766791 }
767792 end
768793 end ,
769794 formatters_by_ft = {
770795 lua = { ' stylua' },
796+ rust = { ' rustfmt' },
771797 -- Conform can also run multiple formatters sequentially
772- -- python = { " isort", " black" },
798+ python = { ' isort' , ' black' },
773799 --
774800 -- You can use 'stop_after_first' to run the first available formatter from the list
775- -- javascript = { "prettierd", "prettier", stop_after_first = true },
801+ javascript = { ' prettierd' , ' prettier' , stop_after_first = true },
802+ html = { ' prettierd' , ' prettier' , stop_after_first = true },
776803 },
777804 },
778805 },
@@ -835,7 +862,7 @@ require('lazy').setup({
835862 -- <c-k>: Toggle signature help
836863 --
837864 -- See :h blink-cmp-config-keymap for defining your own keymap
838- preset = ' default ' ,
865+ preset = ' enter ' ,
839866
840867 -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see:
841868 -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps
@@ -894,9 +921,45 @@ require('lazy').setup({
894921 -- Load the colorscheme here.
895922 -- Like many other themes, this one has different styles, and you could load
896923 -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
897- vim .cmd .colorscheme ' tokyonight-night'
924+ -- vim.cmd.colorscheme 'tokyonight-night'
925+ end ,
926+ },
927+ {
928+ ' maxmx03/solarized.nvim' ,
929+ lazy = false ,
930+ priority = 1000 ,
931+ config = function ()
932+ vim .o .background = ' light' -- or 'dark'
933+ end ,
934+ },
935+ {
936+ ' catppuccin/nvim' ,
937+ name = ' catppuccin' ,
938+ priority = 1000 ,
939+ config = function ()
940+ require (' catppuccin' ).setup {
941+ color_overrides = {
942+ latte = {
943+ base = ' #e4e4e4' ,
944+ },
945+ },
946+ }
898947 end ,
899948 },
949+ -- Autoclose parenthesis and quotes
950+ {
951+ ' m4xshen/autoclose.nvim' ,
952+ config = function ()
953+ require (' autoclose' ).setup {
954+ options = {
955+ disable_when_touch = true ,
956+ },
957+ }
958+ end ,
959+ },
960+ {
961+ ' airblade/vim-rooter' ,
962+ },
900963
901964 -- Highlight todo, notes, etc in comments
902965 { ' folke/todo-comments.nvim' , event = ' VimEnter' , dependencies = { ' nvim-lua/plenary.nvim' }, opts = { signs = false } },
@@ -921,7 +984,7 @@ require('lazy').setup({
921984
922985 -- Simple and easy statusline.
923986 -- You could remove this setup call if you don't like it,
924- -- and try some other statusline plugin
987+ -- and try some other statusline pluginPlug 'm4xshen/autoclose.nvim'
925988 local statusline = require ' mini.statusline'
926989 -- set use_icons to true if you have a Nerd Font
927990 statusline .setup { use_icons = vim .g .have_nerd_font }
@@ -963,6 +1026,15 @@ require('lazy').setup({
9631026 -- - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context
9641027 -- - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
9651028 },
1029+ -- {
1030+ -- 'ibhagwan/fzf-lua',
1031+ -- -- optional for icon support
1032+ -- dependencies = { 'nvim-tree/nvim-web-devicons' },
1033+ -- config = function()
1034+ -- -- calling `setup` is optional for customization
1035+ -- require('fzf-lua').setup {}
1036+ -- end,
1037+ -- },
9661038
9671039 -- The following comments only work if you have downloaded the kickstart repo, not just copy pasted the
9681040 -- init.lua. If you want these files, they are in the repository, so you can just download them and
@@ -975,8 +1047,8 @@ require('lazy').setup({
9751047 --
9761048 -- require 'kickstart.plugins.debug',
9771049 -- require 'kickstart.plugins.indent_line',
978- -- require 'kickstart.plugins.lint',
979- -- require 'kickstart.plugins.autopairs',
1050+ require ' kickstart.plugins.lint' ,
1051+ require ' kickstart.plugins.autopairs' ,
9801052 -- require 'kickstart.plugins.neo-tree',
9811053 -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
9821054
@@ -1012,5 +1084,7 @@ require('lazy').setup({
10121084 },
10131085})
10141086
1087+ vim .cmd .colorscheme ' catppuccin-mocha'
1088+
10151089-- The line beneath this is called `modeline`. See `:help modeline`
10161090-- vim: ts=2 sts=2 sw=2 et
0 commit comments