diff --git a/README.md b/README.md
index 4113950550d..2e9dd39822c 100644
--- a/README.md
+++ b/README.md
@@ -74,7 +74,7 @@ too - it's ignored in the kickstart repo to make maintenance easier, but it's
Linux and Mac
```sh
-git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
+git clone https://github.com/sashaaKr/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
```
diff --git a/init.lua b/init.lua
index b98ffc6198a..49a72a786af 100644
--- a/init.lua
+++ b/init.lua
@@ -91,18 +91,15 @@ vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
-- Set to true if you have a Nerd Font installed and selected in the terminal
-vim.g.have_nerd_font = false
+vim.g.have_nerd_font = true
-- [[ Setting options ]]
-- See `:help vim.o`
-- NOTE: You can change these options as you wish!
-- For more options, you can see `:help option-list`
--- Make line numbers default
vim.o.number = true
--- You can also add relative line numbers, to help with jumping.
--- Experiment for yourself to see if you like it!
--- vim.o.relativenumber = true
+vim.o.relativenumber = true
-- Enable mouse mode, can be useful for resizing splits for example!
vim.o.mouse = 'a'
@@ -110,6 +107,10 @@ vim.o.mouse = 'a'
-- Don't show the mode, since it's already in the status line
vim.o.showmode = false
+-- Renders spaces as "·"
+vim.opt.list = true
+vim.opt.listchars = vim.opt.listchars + 'space:·'
+
-- Sync clipboard between OS and Neovim.
-- Schedule the setting after `UiEnter` because it can increase startup-time.
-- Remove this option if you want your OS clipboard to remain independent.
@@ -435,7 +436,10 @@ require('lazy').setup({
vim.keymap.set('n', 'sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' })
vim.keymap.set('n', 'sr', builtin.resume, { desc = '[S]earch [R]esume' })
vim.keymap.set('n', 's.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
- vim.keymap.set('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' })
+ vim.keymap.set('n', '', function()
+ builtin.buffers { sort_mru = true }
+ end, { desc = '[ ] Find existing buffers' })
+ -- vim.keymap.set('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' })
-- Slightly advanced example of overriding default behavior and theme
vim.keymap.set('n', '/', function()
@@ -459,6 +463,11 @@ require('lazy').setup({
vim.keymap.set('n', 'sn', function()
builtin.find_files { cwd = vim.fn.stdpath 'config' }
end, { desc = '[S]earch [N]eovim files' })
+
+ -- TODO: open project, and move to a dedicated folder with all Lemonade related setups
+ vim.keymap.set('n', 'sl', function()
+ builtin.find_files { cwd = '~/Lemonade', find_command = { 'fd', '--type', 'd', '--max-depth', '1' } }
+ end, { desc = '[S]earch [L]emonade projects' })
end,
},
@@ -673,8 +682,8 @@ require('lazy').setup({
local servers = {
-- clangd = {},
-- gopls = {},
- -- pyright = {},
- -- rust_analyzer = {},
+ pyright = {},
+ rust_analyzer = {},
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
--
-- Some languages (like typescript) have entire language plugins that can be useful:
@@ -876,31 +885,6 @@ require('lazy').setup({
},
},
- { -- You can easily change to a different colorscheme.
- -- Change the name of the colorscheme plugin below, and then
- -- change the command in the config to whatever the name of that colorscheme is.
- --
- -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
- 'folke/tokyonight.nvim',
- priority = 1000, -- Make sure to load this before all the other start plugins.
- config = function()
- ---@diagnostic disable-next-line: missing-fields
- require('tokyonight').setup {
- styles = {
- comments = { italic = false }, -- Disable italics in comments
- },
- }
-
- -- Load the colorscheme here.
- -- Like many other themes, this one has different styles, and you could load
- -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
- vim.cmd.colorscheme 'tokyonight-night'
- end,
- },
-
- -- Highlight todo, notes, etc in comments
- { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } },
-
{ -- Collection of various small independent plugins/modules
'echasnovski/mini.nvim',
config = function()
@@ -944,7 +928,7 @@ require('lazy').setup({
main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- [[ Configure Treesitter ]] See `:help nvim-treesitter`
opts = {
- ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
+ ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc', 'rust', 'toml', 'nginx' },
-- Autoinstall languages that are not installed
auto_install = true,
highlight = {
@@ -976,15 +960,15 @@ require('lazy').setup({
-- require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint',
- -- require 'kickstart.plugins.autopairs',
- -- require 'kickstart.plugins.neo-tree',
+ require 'kickstart.plugins.autopairs',
+ require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
-- This is the easiest way to modularize your config.
--
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
- -- { import = 'custom.plugins' },
+ { import = 'custom.plugins' },
--
-- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec`
-- Or use telescope!
diff --git a/lua/custom/plugins/colors.lua b/lua/custom/plugins/colors.lua
new file mode 100644
index 00000000000..ac2ea082c26
--- /dev/null
+++ b/lua/custom/plugins/colors.lua
@@ -0,0 +1,46 @@
+return {
+ -- { -- You can easily change to a different colorscheme.
+ -- -- Change the name of the colorscheme plugin below, and then
+ -- -- change the command in the config to whatever the name of that colorscheme is.
+ -- --
+ -- -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
+ -- 'folke/tokyonight.nvim',
+ -- priority = 1000, -- Make sure to load this before all the other start plugins.
+ -- config = function()
+ -- ---@diagnostic disable-next-line: missing-fields
+ -- require('tokyonight').setup {
+ -- styles = {
+ -- comments = { italic = false }, -- Disable italics in comments
+ -- },
+ -- }
+ --
+ -- -- Load the colorscheme here.
+ -- -- Like many other themes, this one has different styles, and you could load
+ -- -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
+ -- vim.cmd.colorscheme 'tokyonight-night'
+ -- end,
+ -- },
+ {
+ 'scottmckendry/cyberdream.nvim',
+ lazy = false,
+ priority = 1000000,
+ opts = {
+ borderless_pickers = false,
+ saturation = 0.95,
+ cache = true,
+ },
+ init = function()
+ vim.cmd 'colorscheme cyberdream'
+ vim.api.nvim_set_hl(0, 'TroubleNormal', { bg = 'none', ctermbg = 'none' })
+ vim.api.nvim_set_hl(0, 'TroubleNormalNC', { bg = 'none', ctermbg = 'none' })
+ vim.api.nvim_set_hl(0, 'TroubleNormal', { bg = 'none', ctermbg = 'none' })
+ vim.api.nvim_set_hl(0, 'TroubleNormalNC', { bg = 'none', ctermbg = 'none' })
+ vim.api.nvim_set_hl(0, 'WinSeparator', { fg = '#3c4048', bg = 'none' })
+ vim.api.nvim_set_hl(0, 'IndentBlanklineChar', { fg = '#7b8496' })
+ vim.api.nvim_set_hl(0, 'TreesitterContext', { bg = '#232429' })
+ vim.api.nvim_set_hl(0, 'TreesitterContextLineNumber', { bg = '#232429' })
+ vim.api.nvim_set_hl(0, 'TreesitterContextBottom', { bg = '#232429', underline = true })
+ vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = '#ffffff' })
+ end,
+ },
+}
diff --git a/lua/custom/plugins/folding.lua b/lua/custom/plugins/folding.lua
new file mode 100644
index 00000000000..91e1b3de26a
--- /dev/null
+++ b/lua/custom/plugins/folding.lua
@@ -0,0 +1,11 @@
+return {
+ {
+ 'nvim-treesitter/nvim-treesitter',
+ init = function()
+ vim.opt.foldmethod = 'expr'
+ vim.opt.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
+ vim.opt.foldenable = false
+ end,
+ },
+}
+
diff --git a/lua/custom/plugins/git_blame.lua b/lua/custom/plugins/git_blame.lua
new file mode 100644
index 00000000000..97a16202f23
--- /dev/null
+++ b/lua/custom/plugins/git_blame.lua
@@ -0,0 +1,17 @@
+return {
+ 'f-person/git-blame.nvim',
+ -- load the plugin at startup
+ event = 'VeryLazy',
+ -- Because of the keys part, you will be lazy loading this plugin.
+ -- The plugin will only load once one of the keys is used.
+ -- If you want to load the plugin at startup, add something like event = "VeryLazy",
+ -- or lazy = false. One of both options will work.
+ opts = {
+ -- your configuration comes here
+ -- for example
+ enabled = true, -- if you want to enable the plugin
+ message_template = ' • • • <>', -- template for the blame message, check the Message template section for more options
+ date_format = '%m-%d-%Y %H:%M:%S', -- template for the date, check Date format section for more options
+ virtual_text_column = 1, -- virtual text start column, check Start virtual text at column section for more options
+ },
+}
diff --git a/lua/custom/plugins/todo-comments.lua b/lua/custom/plugins/todo-comments.lua
new file mode 100644
index 00000000000..8d7b97a9b91
--- /dev/null
+++ b/lua/custom/plugins/todo-comments.lua
@@ -0,0 +1,8 @@
+return {
+ {
+ 'folke/todo-comments.nvim',
+ event = 'VimEnter',
+ dependencies = { 'nvim-lua/plenary.nvim' },
+ opts = { signs = false },
+ },
+}
diff --git a/lua/custom/plugins/wakatime.lua b/lua/custom/plugins/wakatime.lua
new file mode 100644
index 00000000000..f316ef263a6
--- /dev/null
+++ b/lua/custom/plugins/wakatime.lua
@@ -0,0 +1,6 @@
+return {
+ {
+ 'wakatime/vim-wakatime',
+ lazy = false,
+ },
+}