Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
5443baa
update name of lua language server dependency
nbur4556 Feb 7, 2026
ba05b1f
turn on nerd fonts
nbur4556 Feb 9, 2026
4e33d2f
enable relative numbers
nbur4556 Feb 9, 2026
1d5ec0d
disable arrow keys
nbur4556 Feb 9, 2026
8562753
enable necessary language servers requested by configuration
nbur4556 Feb 9, 2026
c2a02f7
remove not found typescript language server
nbur4556 Feb 9, 2026
01669b4
use the ensure installed list to enable the typescript language server
nbur4556 Feb 9, 2026
f4cf583
enable prettier for javascript files
nbur4556 Feb 9, 2026
6040137
enable rust fuzzy finder for autocompletion
nbur4556 Feb 9, 2026
40d0364
install and set default theme to catppuccin
nbur4556 Feb 9, 2026
8a19e9c
install and enable rose pine as default
nbur4556 Feb 9, 2026
0f8b81f
enable mini starter
nbur4556 Feb 9, 2026
eec5de7
enable the custom plugin directory
nbur4556 Feb 9, 2026
4ca32d3
install snacks with dashboard enabled
nbur4556 Feb 10, 2026
44ec0be
load snacks types
nbur4556 Feb 10, 2026
b14cb68
install and configure keybind for lazygit
nbur4556 Feb 10, 2026
1387bb1
enable and configure scratch and git browse
nbur4556 Feb 10, 2026
feebbd7
enable and configure terminal
nbur4556 Feb 10, 2026
8bb87f4
add which-key categories for new keybinds
nbur4556 Feb 10, 2026
0181f6c
install and setup oil
nbur4556 Feb 10, 2026
05716ef
install vim tmux navigator
nbur4556 Feb 10, 2026
c78652d
enable kickstart autopairs plugin
nbur4556 Feb 10, 2026
b47ada1
enable the indent lines kickstart plugin
nbur4556 Feb 10, 2026
8412e3a
ensure omnisharp is installed
nbur4556 Feb 10, 2026
28df096
move mini to its own file
nbur4556 Feb 10, 2026
e6714ec
enable mini move
nbur4556 Feb 10, 2026
7304ca7
enabled mini git
nbur4556 Feb 10, 2026
488f73d
enable mini git and configure keybindings
nbur4556 Feb 10, 2026
ccf7f95
add git graph keybinding
nbur4556 Feb 10, 2026
86d7e7d
Merge pull request #12 from nbur4556/snacks
nbur4556 Feb 10, 2026
6a0a68f
Merge pull request #11 from nbur4556/primary-plugins
nbur4556 Feb 10, 2026
1845e71
Merge pull request #13 from nbur4556/mini
nbur4556 Feb 10, 2026
b3aff09
initialize typescript and typescriptreact files for formating
nbur4556 Feb 11, 2026
71005c5
replace tsserver with typescript-tools plugin
nbur4556 Feb 11, 2026
a7c5c96
Merge pull request #14 from nbur4556/typescript-lsp
nbur4556 Feb 11, 2026
b18dfa2
run a godot server when in a godot project
nbur4556 Feb 11, 2026
8409669
fix accurate check if in godot directory
nbur4556 Feb 11, 2026
0800f2d
remove logging logic
nbur4556 Feb 11, 2026
d5d84ef
install the marks plugin
nbur4556 Feb 11, 2026
236f01e
Merge branch 'main' into upstream
nbur4556 Mar 15, 2026
f481489
Merge pull request #15 from nbur4556/upstream
nbur4556 Mar 15, 2026
6cc8fbf
remove the omnisharp language server
nbur4556 Mar 15, 2026
c47ffa3
use crashdummyy registry in mason for access to roslyn lsp
nbur4556 Mar 15, 2026
ebc8285
initial roslyn configuration
nbur4556 Mar 15, 2026
00bea79
ensure roslyn installed
nbur4556 Mar 15, 2026
7517fb4
replace roslyn with omnisharp
nbur4556 Mar 15, 2026
341741f
remove custom roslyn plugin
nbur4556 Mar 15, 2026
65e93fd
accept autocomplete suggestions with tab
nbur4556 Mar 15, 2026
b8c00e8
remove todo requiring formatting for omnisharp. already complete
nbur4556 Mar 15, 2026
e5b97b0
Merge pull request #16 from nbur4556/fix-c-sharp
nbur4556 Mar 15, 2026
17be73f
Merge branch 'main' into godot-server
nbur4556 Mar 15, 2026
c06fa3d
Merge branch 'main' into marks
nbur4556 Mar 15, 2026
be56786
replace marks plugin with guttermarks
nbur4556 Mar 15, 2026
939a1c7
add the remote sshfs plugin
nbur4556 Apr 12, 2026
5cd972f
comment for remote sshfs plugin usage
nbur4556 Apr 12, 2026
85d4b8d
add documentation comments for using remote sshfs
nbur4556 Apr 29, 2026
12100e8
use gs for git status
nbur4556 Apr 29, 2026
0f47ba4
Merge remote-tracking branch 'upstream/master'
nbur4556 Apr 29, 2026
136d55c
format typescript and javascript on save
nbur4556 Apr 29, 2026
72106ef
Merge pull request #19 from nbur4556/godot-server
nbur4556 Apr 29, 2026
8ec3498
Merge branch 'main' into marks
nbur4556 Apr 29, 2026
fe72847
revert change to godot server section
nbur4556 Apr 29, 2026
f7671b6
Merge pull request #18 from nbur4556/marks
nbur4556 Apr 29, 2026
81d6145
Merge branch 'main' into remote-development
nbur4556 Apr 29, 2026
a1a47b9
Merge branch 'main' into update-git-shortcuts
nbur4556 Apr 29, 2026
16fb38f
Merge branch 'main' into format-on-save
nbur4556 Apr 29, 2026
34abcb5
Merge pull request #20 from nbur4556/remote-development
nbur4556 Apr 29, 2026
fb52ad2
Merge branch 'main' into update-git-shortcuts
nbur4556 Apr 29, 2026
cc4a8fc
Merge pull request #21 from nbur4556/update-git-shortcuts
nbur4556 Apr 29, 2026
e71cc02
Merge branch 'main' into format-on-save
nbur4556 Apr 29, 2026
049902a
add quick no-wrap configuration
nbur4556 Jun 4, 2026
6e93058
initial svelte configuration and document issues
nbur4556 Jul 1, 2026
48bc23d
Merge branch 'main' into upstream
nbur4556 Jul 1, 2026
d56e53d
Merge pull request #22 from nbur4556/upstream
nbur4556 Jul 1, 2026
bf15bb7
load themes from repository
nbur4556 Jul 1, 2026
977a6ba
initial smoketest document
nbur4556 Jul 1, 2026
79901a1
update oil configuration to vim pack
nbur4556 Jul 1, 2026
5e4274b
configure vimtmuxnavigator with vim pack
nbur4556 Jul 1, 2026
dae771e
configure snacks with vim pack
nbur4556 Jul 1, 2026
36247a0
define snacks dashboard sections
nbur4556 Jul 1, 2026
ce1ed67
configure guttermakrs with vim pack
nbur4556 Jul 1, 2026
c797248
configure remote sshfs with vim pack
nbur4556 Jul 1, 2026
42a028a
create smoketests for kickstart plugins
nbur4556 Jul 1, 2026
7f27bec
include smoketests for settings
nbur4556 Jul 1, 2026
d732fe7
reenable lsps for common filetypes
nbur4556 Jul 1, 2026
c5a6106
enabme mini git and mini move configurations
nbur4556 Jul 1, 2026
c7262b8
add git and notepad actions to whichkey
nbur4556 Jul 1, 2026
665f1bd
add which key records to smoketest
nbur4556 Jul 1, 2026
44e0f94
clean up todos and commented code
nbur4556 Jul 1, 2026
3023e8b
Merge pull request #23 from nbur4556/fix/postmerge-20260701
nbur4556 Jul 1, 2026
a1b652a
Merge branch 'main' into format-on-save
nbur4556 Jul 1, 2026
0c7103a
remove all commented and disabld filetypes
nbur4556 Jul 1, 2026
1015fc9
Merge pull request #24 from nbur4556/format-on-save
nbur4556 Jul 1, 2026
eb65659
add format on save to smoketest
nbur4556 Jul 1, 2026
6c60034
set rename keybinding
nbur4556 Jul 1, 2026
10b75f8
define lsp code group
nbur4556 Jul 1, 2026
3726a16
assign general lsp commands to correct group
nbur4556 Jul 1, 2026
280c611
remove the old lsp group
nbur4556 Jul 1, 2026
553b4c7
update the lsp code group in the smoketest
nbur4556 Jul 1, 2026
3364f2e
Merge pull request #25 from nbur4556/redefine-lsp-shortcuts
nbur4556 Jul 1, 2026
4742f01
enable git signs plugin
nbur4556 Jul 1, 2026
1ed814a
group git hunk commands with other git commands
nbur4556 Jul 1, 2026
f05defd
configure git blame and diff commands
nbur4556 Jul 1, 2026
5302bb1
finalize git hotkeys
nbur4556 Jul 1, 2026
e638a8d
update git groups in which key
nbur4556 Jul 1, 2026
0ded7b5
add git signs to the smoketest
nbur4556 Jul 1, 2026
052277d
use full git blame window opposed to inline
nbur4556 Jul 1, 2026
e80d59a
remove redundant plugin loading for git signs
nbur4556 Jul 1, 2026
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
72 changes: 72 additions & 0 deletions doc/smoketest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Smoketest

A manual smoketest checklist to ensure features are working:

## Plugins
### Default
- [ ] Whichkey groups should have accurate keybindings
- c -> LSP: [C]ode
- g -> [G]it
- n -> [N]otepad
- r -> [R]e[N]ame
- s -> [S]earch
- t -> [T]oggle

### Kickstart
Kickstart plugins *that are enabled* should be working
- [ ] Autopairs
- Brackets, parenthesis, etc, should automatically close
- [ ] Git Signs
- `<leader>ghs` should stage a hunk of changes
- `<leader>ghr` should reset a hunk of changes
- `<leader>ghS` should stage a buffer of changes
- `<leader>ghR` should reset a buffer of changes
- `<leader>ghp` should preview changes in a git hunk
- `<leader>gb` should show the git blame line
- `<leader>gd` should show the git diff since the index
- `<leader>gD` should show the git diff since the last commit
- [ ] IndentLine
- Should see visual indentation guides for indented lines

### Custom
Custom plugins should be working
- [ ] Oil
- Shortcut `<leader>-` should open Oil
- [ ] Snacks
- Should load dashboard at start, and `<leader>=` should open dashboard
- `<leader>gr` should open the remote git repository in a browser
- `<leader>gl` should open lazy git
- `<leader>no` should open a scratchpad
- `<leader>ns` browses existing notes in scratchpad
- `<leader><C-t>` should open a terminal
- [ ] VimTmuxNavigator
- Should be able to navigate between nvim and tmux panes using `<C-j>`, `<C-k>`, `<C-h>`, `<C-l>` for each respective direction
- [ ] Remote SSHFS
- Should be able to remotely access a directory using the `:RemoteSSHFSConnect` command
- [ ] Guttermarks
- Marks (place a mark with `m<char>`) should be displayed in the gutter by their character

### Themes
- [ ] Catppuccin Theme
- [ ] Rose Pine Theme

## Settings
- [ ] Nerd fonts should be enabled
- [ ] Line numbers should be relative
- [ ] Virtual Diagnostic Lines (errors/warnings) should be beneath the applicable line
- [ ] Arrow key navigation should be disabled
- [ ] Should connect to godot server when running
- [ ] Files should format on save

## LSP

- [ ] LSP, autocomplete, and formatting should work for the following file types
- Javascript `.js`, `.jsx`
- Typescript `.ts`, `.tsx`
- Svelte `.svelte`
- C# `.cs`
- Lua `.lua`
- [ ] Mason should ensure that the following tools are installed
- Clangd
- Pyright
- Omnisharp
92 changes: 63 additions & 29 deletions init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ do
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`
Expand All @@ -110,7 +110,10 @@ do
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

-- Set to nowrap //TODO: can this be in a separate file than the init.lua to avoid conflicts with upstream?
vim.o.wrap = false

-- Enable mouse mode, can be useful for resizing splits for example!
vim.o.mouse = 'a'
Expand Down Expand Up @@ -194,8 +197,8 @@ do
underline = { severity = { min = vim.diagnostic.severity.WARN } },

-- Can switch between these as you prefer
virtual_text = true, -- Text shows up at the end of the line
virtual_lines = false, -- Text shows up underneath the line, with virtual lines
virtual_text = false, -- Text shows up at the end of the line
virtual_lines = true, -- Text shows up underneath the line, with virtual lines

-- Auto open the float, so you can easily read the errors when jumping with `[d` and `]d`
jump = {
Expand All @@ -220,10 +223,10 @@ do
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })

-- TIP: Disable arrow keys in normal mode
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
-- vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
-- vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
-- vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')

-- Keybinds to make split navigation easier.
-- Use CTRL+<hjkl> to switch between windows
Expand Down Expand Up @@ -371,8 +374,13 @@ do
spec = {
{ '<leader>s', group = '[S]earch', mode = { 'n', 'v' } },
{ '<leader>t', group = '[T]oggle' },
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } }, -- Enable gitsigns recommended keymaps first
{ 'gr', group = 'LSP Actions', mode = { 'n' } },
{ '<leader>g', group = '[G]it' },
{ '<leader>gh', group = '[G]it [H]unk', mode = { 'n', 'v' } }, -- Enable gitsigns recommended keymaps first
{ '<leader>gt', group = '[G]it [T]oggle', mode = { 'n', 'v' } }, -- Enable gitsigns recommended keymaps first
{ '<leader>n', group = '[N]otepad' },
{ '<leader>r', group = '[R]e[N]ame', mode = { 'n' } },
{ '<leader>c', group = 'LSP: [C]ode', mode = { 'n' } },
{ '<leader>cg', group = 'LSP: [G]oto', mode = { 'n' } },
},
}

Expand All @@ -390,10 +398,13 @@ do
},
}

vim.pack.add { gh 'catppuccin/nvim' }
vim.pack.add { gh 'rose-pine/neovim' }

-- 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 'rose-pine'

-- Highlight todo, notes, etc in comments
vim.pack.add { gh 'folke/todo-comments.nvim' }
Expand All @@ -416,6 +427,7 @@ do
-- - va) - [V]isually select [A]round [)]paren
-- - yiiq - [Y]ank [I]nside [I]+1 [Q]uote
-- - ci' - [C]hange [I]nside [']quote
--FIX: mini.ai does not seem to be working correctly. Conflicts?
require('mini.ai').setup {
-- NOTE: Avoid conflicts with the built-in incremental selection mappings on Neovim>=0.12 (see `:help treesitter-incremental-selection`)
mappings = {
Expand All @@ -430,6 +442,7 @@ do
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
-- - sd' - [S]urround [D]elete [']quotes
-- - sr)' - [S]urround [R]eplace [)] [']
--FIX: mini.surround does not seem to be working correctly. Conflicts?
require('mini.surround').setup()

-- Simple and easy statusline.
Expand Down Expand Up @@ -531,29 +544,29 @@ do
local buf = event.buf

-- Find references for the word under your cursor.
vim.keymap.set('n', 'grr', builtin.lsp_references, { buffer = buf, desc = '[G]oto [R]eferences' })
vim.keymap.set('n', '<leader>cgr', builtin.lsp_references, { buffer = buf, desc = '[G]oto [R]eferences' })

-- Jump to the implementation of the word under your cursor.
-- Useful when your language has ways of declaring types without an actual implementation.
vim.keymap.set('n', 'gri', builtin.lsp_implementations, { buffer = buf, desc = '[G]oto [I]mplementation' })
vim.keymap.set('n', '<leader>cgi', builtin.lsp_implementations, { buffer = buf, desc = '[G]oto [I]mplementation' })

-- Jump to the definition of the word under your cursor.
-- This is where a variable was first declared, or where a function is defined, etc.
-- To jump back, press <C-t>.
vim.keymap.set('n', 'grd', builtin.lsp_definitions, { buffer = buf, desc = '[G]oto [D]efinition' })
vim.keymap.set('n', '<leader>cgd', builtin.lsp_definitions, { buffer = buf, desc = '[G]oto [D]efinition' })

-- Fuzzy find all the symbols in your current document.
-- Symbols are things like variables, functions, types, etc.
vim.keymap.set('n', 'gO', builtin.lsp_document_symbols, { buffer = buf, desc = 'Open Document Symbols' })
vim.keymap.set('n', '<leader>cgO', builtin.lsp_document_symbols, { buffer = buf, desc = 'Open Document Symbols' })

-- Fuzzy find all the symbols in your current workspace.
-- Similar to document symbols, except searches over your entire project.
vim.keymap.set('n', 'gW', builtin.lsp_dynamic_workspace_symbols, { buffer = buf, desc = 'Open Workspace Symbols' })
vim.keymap.set('n', '<leader>cgW', builtin.lsp_dynamic_workspace_symbols, { buffer = buf, desc = 'Open Workspace Symbols' })

-- Jump to the type of the word under your cursor.
-- Useful when you're not sure what type a variable is and you want to see
-- the definition of its *type*, not where it was *defined*.
vim.keymap.set('n', 'grt', builtin.lsp_type_definitions, { buffer = buf, desc = '[G]oto [T]ype Definition' })
vim.keymap.set('n', '<leader>cgt', builtin.lsp_type_definitions, { buffer = buf, desc = '[G]oto [T]ype Definition' })
end,
})

Expand Down Expand Up @@ -638,15 +651,15 @@ do

-- Rename the variable under your cursor.
-- Most Language Servers support renaming across files, etc.
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')

map('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
-- Execute a code action, usually your cursor needs to be on top of an error

-- or a suggestion from your LSP for this to activate.
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
map('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction', { 'n', 'x' })

-- WARN: This is not Goto Definition, this is Goto Declaration.
-- For example, in C this would take you to the header.
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
map('<leader>cgD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')

-- The following two autocommands are used to highlight references of the
-- word under your cursor when your cursor rests there for a little while.
Expand Down Expand Up @@ -692,9 +705,9 @@ do
-- See `:help lsp-config` for information about keys and how to configure
---@type table<string, vim.lsp.Config>
local servers = {
-- clangd = {},
clangd = {},
-- gopls = {},
-- pyright = {},
pyright = {},
-- rust_analyzer = {},
--
-- Some languages (like typescript) have entire language plugins that can be useful:
Expand All @@ -703,6 +716,8 @@ do
-- But for many setups, the LSP (`ts_ls`) will work just fine
-- ts_ls = {},

omnisharp = {}, -- Used to format C# code

stylua = {}, -- Used to format Lua code

-- Special Lua Config, as recommended by neovim help docs
Expand Down Expand Up @@ -760,6 +775,9 @@ do
local ensure_installed = vim.tbl_keys(servers or {})
vim.list_extend(ensure_installed, {
-- You can add other tools here that you want Mason to install
'clangd',
'pyright',
'omnisharp',
})

require('mason-tool-installer').setup { ensure_installed = ensure_installed }
Expand All @@ -782,8 +800,13 @@ do
format_on_save = function(bufnr)
-- You can specify filetypes to autoformat on save here:
local enabled_filetypes = {
-- lua = true,
-- python = true,
lua = true,
javascript = true,
typescript = true,
typescriptreact = true,
cs = true,
--TODO: not getting any lsp completion for svelte files
svelte = true,
}
if enabled_filetypes[vim.bo[bufnr].filetype] then
return { timeout_ms = 500 }
Expand All @@ -802,6 +825,11 @@ do
--
-- You can use 'stop_after_first' to run the first available formatter from the list
-- javascript = { "prettierd", "prettier", stop_after_first = true },
json = { 'prettierd', 'prettier', stop_after_first = true },
javascript = { 'prettierd', 'prettier', stop_after_first = true },
typescript = { 'prettierd', 'prettier', stop_after_first = true },
typescriptreact = { 'prettierd', 'prettier', stop_after_first = true },
svelte = { 'prettierd', 'prettier', stop_after_first = true },
},
}

Expand Down Expand Up @@ -967,17 +995,23 @@ do
-- 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 recommended keymaps
require 'kickstart.plugins.gitsigns' -- adds gitsigns recommended keymaps

-- NOTE: You can add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
--
-- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going.
-- require 'custom.plugins'
require 'custom.plugins'
end

-- FIX: godot-server: should check if the server is already running first...
local gdprojectfilepath = vim.fn.getcwd() .. '/project.godot'
local isInGdDirectory = vim.fn.filereadable(gdprojectfilepath) == 1

if isInGdDirectory then vim.fn.serverstart '127.0.0.1:55432' end

-- The line beneath this is called `modeline`. See `:help modeline`
-- vim: ts=2 sts=2 sw=2 et
1 change: 1 addition & 0 deletions lua/custom/plugins/guttermarks.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
vim.pack.add { "https://github.com/dimtion/guttermarks.nvim" }
9 changes: 9 additions & 0 deletions lua/custom/plugins/mini.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
require('mini.git').setup()

vim.keymap.set('n', '<leader>ga', '<cmd>Git add -A<CR>', { desc = 'Git add all' })
vim.keymap.set('n', '<leader>gc', '<cmd>Git commit<CR>', { desc = 'Git commit' })
vim.keymap.set('n', '<leader>gs', '<cmd>Git status<CR>', { desc = 'Git status' })
vim.keymap.set('n', '<leader>gg', '<cmd>Git log --graph --oneline --all<CR>', { desc = 'Git graph' })

require('mini.move').setup()
-- usage: Alt = directional keys should move the line in normal mode
4 changes: 4 additions & 0 deletions lua/custom/plugins/oil.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
vim.pack.add { 'https://github.com/stevearc/oil.nvim' }
require('oil').setup {
vim.keymap.set('n', '-', '<CMD>Oil<CR>', { desc = 'Open parent directory' }),
}
7 changes: 7 additions & 0 deletions lua/custom/plugins/remote-sshfs.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
vim.pack.add { "https://github.com/nosduco/remote-sshfs.nvim"}
require('remote-sshfs').setup()

-- Usage: :RemoteSSHFSConnect <user>@<ipaddress>:/path/to/file
-- Sometimes you have to force close, and that causes permission failed on reconnect.
-- When that happens DO NOT DELETE THE DIRECTORY under .sshfd. That will delete everything that mountpoint is connected to *at the connection*
-- Instead safely unmount with `umount -l ~/.sshfd/[MOUNT_POINT]`
23 changes: 23 additions & 0 deletions lua/custom/plugins/snacks.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TODO: design a style and features for my dashboard (add opening parent directory with Oil)
--TODO: determine a method for deleting scratches easily
vim.pack.add { 'https://github.com/folke/snacks.nvim' }
require('snacks').setup {
dashboard = {
enabled = true,
sections = {
{ section = 'header' },
{ section = 'keys', gap = 1, padding = 1 },
},
},
gitbrowse = { enabled = true },
lazygit = { enabled = true },
scratch = { enabled = true },
terminal = { enabled = true },
}

vim.keymap.set('n', '<leader>=', function() Snacks.dashboard.open() end, { desc = 'Dashboard' })
vim.keymap.set('n', '<leader>gr', function() Snacks.gitbrowse.open() end, { desc = 'Open [G]it [R]emore Repository in Browser' })
vim.keymap.set('n', '<leader>gl', function() Snacks.lazygit.open() end, { desc = 'Open [L]azy [G]it' })
vim.keymap.set('n', '<leader>no', function() Snacks.scratch() end, { desc = '[O]pen [N]otepad' })
vim.keymap.set('n', '<leader>ns', function() Snacks.scratch.select() end, { desc = '[S]elect [N]ote' })
vim.keymap.set('n', '<leader><C-t>', function() Snacks.terminal() end, { desc = 'Open [T]erminal' })
2 changes: 2 additions & 0 deletions lua/custom/plugins/typescript-tools.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
vim.pack.add { 'https://github.com/pmizio/typescript-tools.nvim' }
require('typescript-tools').setup {}
1 change: 1 addition & 0 deletions lua/custom/plugins/vimtmuxnavigator.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
vim.pack.add { 'https://github.com/christoomey/vim-tmux-navigator' }
Loading
Loading