Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
7b56417
Update README.md
schistostega May 29, 2024
a2eac9b
enable kickstarter plugins
May 29, 2024
cd8eaca
disable kickstart.plugins.lint because it should be properly prepared
May 29, 2024
95653c6
move adjustmets to custom folder
May 29, 2024
c516919
add custom config for net-tree
May 30, 2024
44715b6
add custom mapping for filepath/filename selections
May 31, 2024
822917f
enable kickstart recommended gitsigns keymaps
Jun 1, 2024
9f0f078
enable autopairs plugin with kickstart default config
Jun 1, 2024
1b20ada
enable lsp tsserver
Jun 1, 2024
b15c51b
add Primeagen's remaps
Jun 2, 2024
7c53ce5
add harpoon plugin
Jun 2, 2024
ca3f3c8
add undotree plugin
Jun 2, 2024
6e9bb7d
enable indent_line plugin
Jun 2, 2024
2bfa156
add more remaps
Jun 2, 2024
d77e901
add "select all" remap
Jun 3, 2024
0c8b62d
add clang lsp
Jun 17, 2024
aae8821
change mapping for "select all" action
Jun 28, 2024
064e55f
add html autotag plugin
Jun 28, 2024
3fe4b85
remove autotag plugin and install html lsp
Jul 9, 2024
2d4e027
adjust tabulation
Jul 9, 2024
c1a47f2
remove obsolete config
Jul 9, 2024
5d16db8
change colorscheme
Jul 9, 2024
a804825
fix config being overriden by a plugin
Jul 15, 2024
e10b7ad
add emmet lsp
Jul 15, 2024
773b192
add multi edit plugin
Jul 27, 2024
6648113
Merge remote-tracking branch 'upstream/master'
Aug 2, 2024
0698d77
add apex lsp and treesitter
Aug 10, 2024
24da46f
add python LSP pyright
Oct 8, 2024
69fc2ab
update tsserver LSP to ts_ls
Oct 28, 2024
52d781c
change colorscheme to matrix
Dec 22, 2024
0ea0af0
install database plugin
Jan 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ fork to your machine using one of the commands below, depending on your OS.
<details><summary> Linux and Mac </summary>

```sh
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
git clone https://github.com/schistostega/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
```

</details>
Expand All @@ -76,15 +76,11 @@ git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HO

If you're using `cmd.exe`:

```
git clone https://github.com/nvim-lua/kickstart.nvim.git %localappdata%\nvim\
```

If you're using `powershell.exe`

```
git clone https://github.com/nvim-lua/kickstart.nvim.git $env:LOCALAPPDATA\nvim\
```

</details>

Expand Down
4 changes: 4 additions & 0 deletions after/init.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
vim.o.tabstop = 4 -- A TAB character looks like 4 spaces
vim.o.expandtab = true -- Pressing the TAB key will insert spaces instead of a TAB character
vim.o.softtabstop = 4 -- Number of spaces inserted instead of a TAB character
vim.o.shiftwidth = 4 -- Number of spaces inserted when indenting
2 changes: 2 additions & 0 deletions ftdetect/filetypes.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
au BufRead,BufNewFile *.apex set filetype=apex
au BufRead,BufNewFile *.cls set filetype=apex
63 changes: 53 additions & 10 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,9 @@ vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
-- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link).
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
'tpope/vim-dadbod', -- Database integration
'kristijanhusak/vim-dadbod-ui',
'kristijanhusak/vim-dadbod-completion',

-- NOTE: Plugins can also be added by using a table,
-- with the first argument being the link and the following
Expand Down Expand Up @@ -320,6 +323,7 @@ require('lazy').setup({

-- Useful for getting pretty icons, but requires a Nerd Font.
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
{ 'ThePrimeagen/harpoon' },
},
config = function()
-- Telescope is a fuzzy finder that comes with a lot of different things that
Expand Down Expand Up @@ -363,6 +367,7 @@ require('lazy').setup({
-- Enable Telescope extensions if they are installed
pcall(require('telescope').load_extension, 'fzf')
pcall(require('telescope').load_extension, 'ui-select')
pcall(require('telescope').load_extension, 'harpoon')

-- See `:help telescope.builtin`
local builtin = require 'telescope.builtin'
Expand Down Expand Up @@ -579,9 +584,22 @@ require('lazy').setup({
-- https://github.com/pmizio/typescript-tools.nvim
--
-- But for many setups, the LSP (`tsserver`) will work just fine
-- tsserver = {},
--

ts_ls = {},
html = {},
cssls = {},
clangd = {},
emmet_ls = {},
pyright = {},
eslint = {},
apex_ls = {
filetypes = {
'apex', -- treesitter uses apex instead of default apexcode filetype
},
settings = {
apex_enable_semantic_errors = false,
apex_enable_completion_statistics = false,
},
},
lua_ls = {
-- cmd = {...},
-- filetypes = { ...},
Expand Down Expand Up @@ -787,13 +805,21 @@ require('lazy').setup({
-- 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',
-- 'folke/tokyonight.nvim',
-- 'mathofprimes/nightvision-nvim',
-- 'audibleblink/hackthebox.vim',
'iruzo/matrix-nvim',
-- 'rebelot/kanagawa.nvim',
priority = 1000, -- Make sure to load this before all the other start plugins.
init = function()
-- 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'
-- vim.cmd.colorscheme 'tokyonight-storm'
-- vim.cmd.colorscheme 'kanagawa-dragon'
-- vim.cmd.colorscheme 'hackthebox'
vim.cmd.colorscheme 'matrix'
-- vim.cmd.colorscheme 'nightvision'

-- You can configure highlights by doing something like:
vim.cmd.hi 'Comment gui=none'
Expand Down Expand Up @@ -844,7 +870,24 @@ require('lazy').setup({
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
opts = {
ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
ensure_installed = {
'apex',
'bash',
'c',
'diff',
'html',
'css',
'java',
'javascript',
'lua',
'luadoc',
'markdown',
'markdown_inline',
'query',
'vim',
'vimdoc',
'sql',
},
-- Autoinstall languages that are not installed
auto_install = true,
highlight = {
Expand Down Expand Up @@ -881,18 +924,18 @@ require('lazy').setup({
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
--
-- require 'kickstart.plugins.debug',
-- require 'kickstart.plugins.indent_line',
require 'kickstart.plugins.indent_line',
-- require 'kickstart.plugins.lint',
-- require 'kickstart.plugins.autopairs',
require 'kickstart.plugins.autopairs',
-- require 'kickstart.plugins.neo-tree',
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
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.
-- For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins`
-- { import = 'custom.plugins' },
{ import = 'custom.plugins' },
}, {
ui = {
-- If you are using a Nerd Font: set icons to an empty table which will use the
Expand Down
60 changes: 60 additions & 0 deletions lua/custom/icons/nerd_font.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
return {
ActiveLSP = '',
ActiveTS = '',
ArrowLeft = '',
ArrowRight = '',
Bookmarks = '',
BufferClose = '󰅖',
DapBreakpoint = '',
DapBreakpointCondition = '',
DapBreakpointRejected = '',
DapLogPoint = '.>',
DapStopped = '󰁕',
Debugger = '',
DefaultFile = '󰈙',
Diagnostic = '󰒡',
DiagnosticError = '',
DiagnosticHint = '󰌵',
DiagnosticInfo = '󰋼',
DiagnosticWarn = '',
Ellipsis = '…',
FileNew = '',
FileModified = '',
FileReadOnly = '',
FoldClosed = '',
FoldOpened = '',
FoldSeparator = ' ',
FolderClosed = '',
FolderEmpty = '',
FolderOpen = '',
Git = '󰊢',
GitAdd = '',
GitBranch = '',
GitChange = '',
GitConflict = '',
GitDelete = '',
GitIgnored = '◌',
GitRenamed = '➜',
GitSign = '▎',
GitStaged = '✓',
GitUnstaged = '✗',
GitUntracked = '★',
LSPLoaded = '', -- TODO: Remove unused icon in AstroNvim v4
LSPLoading1 = '',
LSPLoading2 = '󰀚',
LSPLoading3 = '',
MacroRecording = '',
Package = '󰏖',
Paste = '󰅌',
Refresh = '',
Search = '',
Selected = '❯',
Session = '󱂬',
Sort = '󰒺',
Spellcheck = '󰓆',
Tab = '󰓩',
TabClose = '󰅙',
Terminal = '',
Window = '',
WordFile = '󰈭',
}
41 changes: 41 additions & 0 deletions lua/custom/icons/text.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
return {
ActiveLSP = 'LSP:',
ArrowLeft = '<',
ArrowRight = '>',
BufferClose = 'x',
DapBreakpoint = 'B',
DapBreakpointCondition = 'C',
DapBreakpointRejected = 'R',
DapLogPoint = 'L',
DapStopped = '>',
DefaultFile = '[F]',
DiagnosticError = 'X',
DiagnosticHint = '?',
DiagnosticInfo = 'i',
DiagnosticWarn = '!',
Ellipsis = '...',
FileModified = '*',
FileReadOnly = '[lock]',
FoldClosed = '+',
FoldOpened = '-',
FoldSeparator = ' ',
FolderClosed = '[D]',
FolderEmpty = '[E]',
FolderOpen = '[O]',
GitAdd = '[+]',
GitChange = '[/]',
GitConflict = '[!]',
GitDelete = '[-]',
GitIgnored = '[I]',
GitRenamed = '[R]',
GitSign = '|',
GitStaged = '[S]',
GitUnstaged = '[U]',
GitUntracked = '[?]',
MacroRecording = 'Recording:',
Paste = '[PASTE]',
Search = '?',
Selected = '*',
Spellcheck = '[SPELL]',
TabClose = 'X',
}
78 changes: 78 additions & 0 deletions lua/custom/mappings.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
local utils = require 'custom.utils'

vim.keymap.set('n', '<leader>yn', function()
local filename = vim.fn.expand '%:t'
vim.fn.setreg('+', filename)
end, { desc = '[Y]ank file [N]ame' })

vim.keymap.set('n', '<leader>yp', function()
local filepath = vim.fn.expand '%:p'
vim.fn.setreg('+', filepath)
end, { desc = '[Y]ank file [P]ath' })

vim.keymap.set('n', '<leader>ys', function()
local filepath = vim.fn.expand '%:p'
local filename = vim.fn.expand '%:t'
local modify = vim.fn.fnamemodify

local vals = {
['BASENAME'] = modify(filename, ':r'),
['EXTENSION'] = modify(filename, ':e'),
['FILENAME'] = filename,
['PATH (CWD)'] = modify(filepath, ':.'),
['PATH (HOME)'] = modify(filepath, ':~'),
['PATH'] = filepath,
['URI'] = vim.uri_from_fname(filepath),
}

local options = vim.tbl_filter(function(val)
return vals[val] ~= ''
end, vim.tbl_keys(vals))
if vim.tbl_isempty(options) then
utils.notify('No values to copy', vim.log.levels.WARN)
return
end
table.sort(options)
vim.ui.select(options, {
prompt = 'Choose to copy to clipboard:',
format_item = function(item)
return ('%s: %s'):format(item, vals[item])
end,
}, function(choice)
local result = vals[choice]
if result then
utils.notify(('Copied: `%s`'):format(result))
vim.fn.setreg('+', result)
end
end)
end, { desc = '[Y]ank [S]elector' })

-- https://github.com/ThePrimeagen/init.lua/blob/master/lua/theprimeagen/remap.lua
-- https://youtu.be/w7i4amO_zaE?si=bRJDSVlL_vvFwmxh
-- move visually selected block upward or downward
vim.keymap.set('v', 'J', ":m '>+1<CR>gv=gv")
vim.keymap.set('v', 'K', ":m '<-2<CR>gv=gv")

-- hold cursor in place while joining lines
vim.keymap.set('n', 'J', 'mzJ`z')

-- hold cursor in the middle while scrolling half of a page
vim.keymap.set('n', '<C-d>', '<C-d>zz')
vim.keymap.set('n', '<C-u>', '<C-u>zz')

-- hold cursor in the middle while navigation throgh search
vim.keymap.set('n', 'n', 'nzzzv')
vim.keymap.set('n', 'N', 'Nzzzv')

vim.keymap.set('x', '<leader>p', [["_dP]], { desc = '[P]aste and keep the copy buffer' })
vim.keymap.set('n', '<leader>rc', [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], { desc = '[R]ename [C]urrent word' })
-- end Primeagen

vim.keymap.set('n', '<leader>n', '<cmd>enew<cr>', { desc = '[N]ew File' })
vim.keymap.set('n', '<leader>Q', '<cmd>qall<cr>', { desc = '[Q]uit all' })

-- Stay in indent mode
vim.keymap.set('v', '<S-Tab>', '<gv', { desc = 'Unindent line' })
vim.keymap.set('v', '<Tab>', '>gv', { desc = 'Indent line' })

vim.keymap.set('n', '<leader>A', 'ggVG%', { desc = 'Select [A]ll' })
21 changes: 21 additions & 0 deletions lua/custom/plugins/harpoon.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
local mark = require 'harpoon.mark'
local ui = require 'harpoon.ui'

vim.keymap.set('n', '<leader>a', mark.add_file, { desc = '[A]dd harpoon mark' })
vim.keymap.set('n', '<leader>sm', require('telescope').extensions.harpoon.marks, { desc = '[S]earch harpoon [M]' })
vim.keymap.set('n', '<C-e>', ui.toggle_quick_menu)

vim.keymap.set('n', '<A-h>', function()
ui.nav_file(1)
end)
vim.keymap.set('n', '<A-j>', function()
ui.nav_file(2)
end)
vim.keymap.set('n', '<A-k>', function()
ui.nav_file(3)
end)
vim.keymap.set('n', '<A-l>', function()
ui.nav_file(4)
end)

return {}
6 changes: 6 additions & 0 deletions lua/custom/plugins/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,10 @@
-- I promise not to create any merge conflicts in this directory :)
--
-- See the kickstart.nvim README for more information
vim.opt.relativenumber = true
vim.g.have_nerd_font = true

require 'custom.mappings'
require 'custom.tabulation'

return {}
Loading
Loading