Compare commits

..
3 Commits
Author SHA1 Message Date
romanzy313 7ed28b5abf oil monkey patch 2026-09-08 03:36:41 +02:00
romanzy313 53da8295f9 type peaking docs 2026-09-08 03:24:50 +02:00
romanzy313 56b1e1bb58 readme update 2026-09-08 03:20:09 +02:00
2 changed files with 32 additions and 21 deletions
+4 -21
View File
@@ -14,17 +14,15 @@ To remove a plugin run `:lua vim.pack.del({ "<plugin name>" })`.
See custom keymaps with short descriptions with `<leader><leader>h`.
Split shortcuts:
Windowing shortcuts:
- `<leader>sv` open a vertical split
- `<leader>sh` open a horizontal split
- `<leader>se` equalize split sizes
- `<leader>sc` close the current window
Resize shortcuts:
- `<leader>r-hjkl` to resize
- `<leader>re` equalize split sizes
- `<C-hjkl>` move between windows
Buffer shortcuts:
@@ -62,28 +60,12 @@ Refresh shortcuts (oil and buffers):
Oil usage:
- `<leader>dl` opens the file browser
- `<CR>` opens a file or enters a directory
- `-` goes to the parent directory
- `<BS>` also goes to the parent directory
- `-`, `<BS>` goes to the parent directory
- `<A-h>` also goes to the parent directory
- `<A-l>` opens the selected file or enters the selected directory
- `<C-p>` previews the selected entry
- `gx` opens the file in external viewer
## Window Navigation
Move between windows with:
```vim
<C-hjkl>
```
Cycle through windows:
```vim
<C-w>w
```
## Terminal
Two options to leave terminal mode and return to normal mode:
@@ -106,6 +88,7 @@ Useful Mason commands:
Useful LSP commands:
- `K` show the type and documentation for the symbol under the cursor
- `gd` go to definition
- `gD` go to declaration
- `grd` list references
@@ -44,6 +44,34 @@ require("oil").setup({
},
})
local oil_git_trie = require("oil-git.trie")
local oil_git_lookup = oil_git_trie.lookup
-- ugly internal monkey patch to not show partially git-ignored foldres as grey
rawset(oil_git_trie, "lookup", function(root, entry_path, git_root, exclude_ignored)
local status = oil_git_lookup(root, entry_path, git_root, exclude_ignored)
if status ~= "!!" or exclude_ignored then
return status
end
local relative_path = entry_path:sub(#git_root + 2)
local node = root
for segment in relative_path:gmatch("[^/\\]+") do
node = node.children[segment]
if not node then
return nil
end
end
-- oil-git normally propagates an ignored child's status to every parent.
-- Only grey a directory when Git reported that directory itself as ignored.
if not node.is_dir_ignored then
return nil
end
return status
end)
require("oil-git").setup({
show_file_highlights = true,
show_directory_highlights = true,