mirror of
https://github.com/mr0xb/dotfiles.git
synced 2026-08-28 03:44:57 -04:00
updates
This commit is contained in:
parent
05a7dcaebd
commit
984dc04492
30 changed files with 2213 additions and 1 deletions
|
|
@ -135,7 +135,7 @@ require('aerial').setup({
|
|||
attach_mode = "global",
|
||||
close_automatic_events = {"switch_buffer"},
|
||||
float = {
|
||||
relative = "editor",
|
||||
relative = "win",
|
||||
override = function(conf)
|
||||
local padding = 1
|
||||
conf.anchor = 'NE'
|
||||
|
|
|
|||
276
.config/zellij/config.kdl
Normal file
276
.config/zellij/config.kdl
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
keybinds {
|
||||
normal {
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Ctrl n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Left"; }
|
||||
bind "j" "Down" { Resize "Down"; }
|
||||
bind "k" "Up" { Resize "Up"; }
|
||||
bind "l" "Right" { Resize "Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
}
|
||||
pane {
|
||||
bind "Ctrl p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "l" "Right" { MoveFocus "Right"; }
|
||||
bind "j" "Down" { MoveFocus "Down"; }
|
||||
bind "k" "Up" { MoveFocus "Up"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Ctrl h" { SwitchToMode "Normal"; }
|
||||
bind "n" "Tab" { MovePane; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "j" "Down" { MovePane "Down"; }
|
||||
bind "k" "Up" { MovePane "Up"; }
|
||||
bind "l" "Right" { MovePane "Right"; }
|
||||
}
|
||||
tab {
|
||||
bind "Ctrl t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
search {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
}
|
||||
session {
|
||||
bind "Ctrl o" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
tmux {
|
||||
bind "[" { SwitchToMode "Scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
|
||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "," { SwitchToMode "RenameTab"; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Ctrl g" { SwitchToMode "Locked"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
||||
}
|
||||
shared_except "move" "locked" {
|
||||
bind "Ctrl h" { SwitchToMode "Move"; }
|
||||
}
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Ctrl b" { SwitchToMode "Tmux"; }
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
tab-bar { path "tab-bar"; }
|
||||
status-bar { path "status-bar"; }
|
||||
strider { path "strider"; }
|
||||
compact-bar { path "compact-bar"; }
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
themes {
|
||||
dracula {
|
||||
fg 248 248 242
|
||||
bg 40 42 54
|
||||
red 255 85 85
|
||||
green 80 250 123
|
||||
yellow 241 250 140
|
||||
blue 98 114 164
|
||||
magenta 255 121 198
|
||||
orange 255 184 108
|
||||
cyan 139 233 253
|
||||
black 0 0 0
|
||||
white 255 255 255
|
||||
}
|
||||
}
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
theme "dracula"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
mouse_mode true
|
||||
scroll_buffer_size 20000
|
||||
|
||||
copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
copy_on_select true
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
//
|
||||
// layout_dir "/path/to/my/layout_dir"
|
||||
|
||||
theme_dir "/home/mr0xb/.config/zellij_cfg/themes"
|
||||
38
alacritty/alacritty.yml
Normal file
38
alacritty/alacritty.yml
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
shell:
|
||||
program: /usr/bin/zsh
|
||||
|
||||
import:
|
||||
- ~/.config/alacritty/themes/dracula.yml
|
||||
- ~/.config/alacritty/bindings.yml
|
||||
|
||||
cursor:
|
||||
style: Block
|
||||
|
||||
hints:
|
||||
enabled:
|
||||
- regex: "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-\u009F<>\" {-}\\^⟨⟩`]+"
|
||||
command: xdg-open
|
||||
post_processing: true
|
||||
mouse:
|
||||
mods: Control|Shift
|
||||
|
||||
window:
|
||||
opacity: 0.9
|
||||
padding:
|
||||
x: 5
|
||||
y: 5
|
||||
|
||||
scrolling:
|
||||
history: 100000
|
||||
multiplier: 3
|
||||
|
||||
font:
|
||||
normal:
|
||||
family: "FuraMono Nerd Font Mono"
|
||||
style: Regular
|
||||
bold:
|
||||
family: "FuraMono Nerd Font Mono"
|
||||
style: Bold
|
||||
italic:
|
||||
family: "FuraMono Nerd Font Mono"
|
||||
style: Bold
|
||||
2
alacritty/bindings.yml
Normal file
2
alacritty/bindings.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
mouse_bindings:
|
||||
- { mouse: Right, action: CopySelection }
|
||||
61
alacritty/themes/dracula.yml
Normal file
61
alacritty/themes/dracula.yml
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Dracula theme for Alacritty
|
||||
# https://draculatheme.com/alacritty
|
||||
#
|
||||
# Color palette
|
||||
# https://spec.draculatheme.com
|
||||
#
|
||||
# Template
|
||||
# https://github.com/alacritty/alacritty/blob/master/alacritty.yml
|
||||
|
||||
colors:
|
||||
primary:
|
||||
background: '#282a36'
|
||||
foreground: '#f8f8f2'
|
||||
bright_foreground: '#ffffff'
|
||||
cursor:
|
||||
text: CellBackground
|
||||
cursor: CellForeground
|
||||
vi_mode_cursor:
|
||||
text: CellBackground
|
||||
cursor: CellForeground
|
||||
search:
|
||||
matches:
|
||||
foreground: '#44475a'
|
||||
background: '#50fa7b'
|
||||
focused_match:
|
||||
foreground: '#44475a'
|
||||
background: '#ffb86c'
|
||||
footer_bar:
|
||||
background: '#282a36'
|
||||
foreground: '#f8f8f2'
|
||||
hints:
|
||||
start:
|
||||
foreground: '#282a36'
|
||||
background: '#f1fa8c'
|
||||
end:
|
||||
foreground: '#f1fa8c'
|
||||
background: '#282a36'
|
||||
line_indicator:
|
||||
foreground: None
|
||||
background: None
|
||||
selection:
|
||||
text: CellForeground
|
||||
background: '#44475a'
|
||||
normal:
|
||||
black: '#21222c'
|
||||
red: '#ff5555'
|
||||
green: '#50fa7b'
|
||||
yellow: '#f1fa8c'
|
||||
blue: '#bd93f9'
|
||||
magenta: '#ff79c6'
|
||||
cyan: '#8be9fd'
|
||||
white: '#f8f8f2'
|
||||
bright:
|
||||
black: '#6272a4'
|
||||
red: '#ff6e6e'
|
||||
green: '#69ff94'
|
||||
yellow: '#ffffa5'
|
||||
blue: '#d6acff'
|
||||
magenta: '#ff92df'
|
||||
cyan: '#a4ffff'
|
||||
white: '#ffffff'
|
||||
159
nvim/init.lua
Normal file
159
nvim/init.lua
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
local api = vim.api
|
||||
local g = vim.g
|
||||
local opt = vim.opt
|
||||
local BUFFER = vim.bo
|
||||
local GLOBAL = vim.o
|
||||
local WINDOW = vim.wo
|
||||
|
||||
local function set_all(option, scope, value)
|
||||
scope[option] = value
|
||||
end
|
||||
|
||||
api.nvim_set_keymap("", "<Space>", "<Nop>", { noremap = true, silent = true })
|
||||
|
||||
require('plugins')
|
||||
require('config.colors')
|
||||
require('key_bindings')
|
||||
diagnostics = require('diag')
|
||||
vim.cmd[[
|
||||
autocmd CursorMoved * :lua diagnostics.echo_diagnostic()
|
||||
]]
|
||||
|
||||
|
||||
local options = {
|
||||
{option='loaded', scope=g, value=1},
|
||||
{option='mapleader', scope=g, value=" "},
|
||||
{option='maplocalleader', scope=g, value = " "},
|
||||
{option='loaded_netrwPlugin', scope=g, value=1},
|
||||
{option='indentLine_fileTypeExclude', scope=g, value = {'dashboard'}},
|
||||
--tabs,spacing & formatting
|
||||
{option='tabstop', scope=GLOBAL, value=2},
|
||||
{option='shiftwidth', scope=GLOBAL, value=2},
|
||||
{option='expandtab', scope=GLOBAL, value=true},
|
||||
{option='smartcase', scope=GLOBAL, value=true},
|
||||
{option='shiftround', scope=GLOBAL, value=true},
|
||||
{option='ignorecase', scope=GLOBAL, value=true},
|
||||
-- display options
|
||||
{option='number', scope=GLOBAL, value=true},
|
||||
{option='hlsearch', scope=GLOBAL, value=true},
|
||||
{option='timeoutlen', scope=GLOBAL, value=300}, -- Time in milliseconds to wait for mapped seq to complete.
|
||||
{option='updatetime', scope=GLOBAL, value=250}, -- Decrease update time
|
||||
{option='cursorline', scope=GLOBAL, value=true},
|
||||
{option='signcolumn', scope=GLOBAL, value='yes'},
|
||||
{option='breakindent', scope=GLOBAL, value=true},
|
||||
{option='termguicolors', scope=GLOBAL, value=true},
|
||||
{option='relativenumber', scope=GLOBAL, value=true},
|
||||
{option='guicursor', scope=GLOBAL, value="n-v:block,i-c-ci-ve:ver25,r-cr:hor20,o:hor50,i:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175"},
|
||||
|
||||
-- undo, history, etc
|
||||
{option='mouse', scope=GLOBAL, value='a'},
|
||||
{option='undofile', scope=GLOBAL, value=true},
|
||||
{option='undodir', scope=GLOBAL, value=vim.fn.stdpath('config') .. '/undodir'},
|
||||
|
||||
-- misc
|
||||
{option='clipboard', scope=GLOBAL, value='unnamedplus'},
|
||||
}
|
||||
for _, args in pairs(options) do
|
||||
set_all(args.option, args.scope, args.value)
|
||||
end
|
||||
|
||||
-- highlight selection on yank
|
||||
vim.cmd [[
|
||||
augroup YankHighlight
|
||||
autocmd!
|
||||
autocmd TextYankPost * silent! lua vim.highlight.on_yank()
|
||||
augroup end
|
||||
]]
|
||||
|
||||
vim.cmd[[colorscheme dracula]]
|
||||
require('aerial').setup({
|
||||
backends = { "lsp", "treesitter", "markdown" },
|
||||
show_guides = true,
|
||||
border = "double",
|
||||
filter_kind = {
|
||||
"Array",
|
||||
"Boolean",
|
||||
"Class",
|
||||
"Constant",
|
||||
"Constructor",
|
||||
"Enum",
|
||||
"EnumMember",
|
||||
"Event",
|
||||
"Field",
|
||||
"File",
|
||||
"Function",
|
||||
"Interface",
|
||||
"Key",
|
||||
"Method",
|
||||
"Module",
|
||||
"Namespace",
|
||||
"Null",
|
||||
"Number",
|
||||
"Object",
|
||||
"Operator",
|
||||
"Package",
|
||||
"Property",
|
||||
"String",
|
||||
"Struct",
|
||||
"TypeParameter",
|
||||
"Variable",
|
||||
},
|
||||
icons = {
|
||||
Array = "",
|
||||
Boolean = "⊨",
|
||||
Class = "",
|
||||
Constant = "",
|
||||
Constructor = "",
|
||||
Key = "",
|
||||
Function = "",
|
||||
Method = "ƒ",
|
||||
Namespace = "",
|
||||
Null = "NULL",
|
||||
Number = "#",
|
||||
Object = "⦿",
|
||||
Property = "",
|
||||
TypeParameter = "𝙏",
|
||||
Variable = "",
|
||||
Enum = "ℰ",
|
||||
Package = "",
|
||||
EnumMember = "",
|
||||
File = "",
|
||||
Module = "",
|
||||
Field = "",
|
||||
Interface = "ﰮ",
|
||||
String = "𝓐",
|
||||
Struct = "𝓢",
|
||||
Event = "",
|
||||
Operator = "+",
|
||||
},
|
||||
guides = {
|
||||
mid_item = "├ ",
|
||||
last_item = "└ ",
|
||||
nested_top = "│ ",
|
||||
whitespace = " ",
|
||||
},
|
||||
attach_mode = "global",
|
||||
close_automatic_events = {"switch_buffer"},
|
||||
float = {
|
||||
relative = "win",
|
||||
override = function(conf)
|
||||
local padding = 1
|
||||
conf.anchor = 'NE'
|
||||
conf.row = padding
|
||||
conf.col = vim.api.nvim_win_get_width(0) - padding
|
||||
return conf
|
||||
end,
|
||||
},
|
||||
on_attach = function(bufnr)
|
||||
-- Jump forwards/backwards with '{' and '}'
|
||||
vim.keymap.set("n", "{", "<cmd>AerialPrev<cr>", { buffer = bufnr, desc = "Jump backwards in Aerial" })
|
||||
vim.keymap.set("n", "}", "<cmd>AerialNext<cr>", { buffer = bufnr, desc = "Jump forwards in Aerial" })
|
||||
-- Jump up the tree with '[[' or ']]'
|
||||
vim.keymap.set("n", "[[", "<cmd>AerialPrevUp<cr>", { buffer = bufnr, desc = "Jump up and backwards in Aerial" })
|
||||
vim.keymap.set("n", "]]", "<cmd>AerialNextUp<cr>", { buffer = bufnr, desc = "Jump up and forwards in Aerial" })
|
||||
end,
|
||||
})
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
au! WinLeave *.rs AerialCloseAll
|
||||
]], false)
|
||||
12
nvim/lua/config/_template.lua
Normal file
12
nvim/lua/config/_template.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local {PLUGIN} = require({PLUGIN})
|
||||
local conf = {
|
||||
conf = {
|
||||
|
||||
}
|
||||
}
|
||||
{PLUGIN}.setup(conf)
|
||||
end
|
||||
return M
|
||||
261
nvim/lua/config/aerial.lua.bak
Normal file
261
nvim/lua/config/aerial.lua.bak
Normal file
|
|
@ -0,0 +1,261 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local aerial = require("aerial")
|
||||
local conf = {
|
||||
backends = { "treesitter", "lsp", "markdown", "man" },
|
||||
float = {
|
||||
relative = "editor",
|
||||
override = function(conf)
|
||||
local padding = 4
|
||||
conf.anchor = 'NE'
|
||||
conf.row = padding
|
||||
conf.col = vim.o.columns - padding
|
||||
return conf
|
||||
end,
|
||||
},
|
||||
layout = {
|
||||
-- These control the width of the aerial window.
|
||||
-- They can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||
-- min_width and max_width can be a list of mixed types.
|
||||
-- max_width = {40, 0.2} means "the lesser of 40 columns or 20% of total"
|
||||
max_width = { 80, 0.2 },
|
||||
width = nil,
|
||||
min_width = 40,
|
||||
|
||||
-- key-value pairs of window-local options for aerial window (e.g. winhl)
|
||||
win_opts = {},
|
||||
|
||||
-- Determines the default direction to open the aerial window. The 'prefer'
|
||||
-- options will open the window in the other direction *if* there is a
|
||||
-- different buffer in the way of the preferred direction
|
||||
-- Enum: prefer_right, prefer_left, right, left, float
|
||||
default_direction = "right",
|
||||
|
||||
-- Determines where the aerial window will be opened
|
||||
-- edge - open aerial at the far right/left of the editor
|
||||
-- window - open aerial to the right/left of the current window
|
||||
placement = "edge",
|
||||
},
|
||||
|
||||
-- Determines how the aerial window decides which buffer to display symbols for
|
||||
-- window - aerial window will display symbols for the buffer in the window from which it was opened
|
||||
-- global - aerial window will display symbols for the current window
|
||||
attach_mode = "global",
|
||||
|
||||
-- List of enum values that configure when to auto-close the aerial window
|
||||
-- unfocus - close aerial when you leave the original source window
|
||||
-- switch_buffer - close aerial when you change buffers in the source window
|
||||
-- unsupported - close aerial when attaching to a buffer that has no symbol source
|
||||
close_automatic_events = {},
|
||||
|
||||
-- Keymaps in aerial window. Can be any value that `vim.keymap.set` accepts OR a table of keymap
|
||||
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", nowait = true })
|
||||
-- Additionally, if it is a string that matches "aerial.<name>",
|
||||
-- it will use the mapping at require("aerial.action").<name>
|
||||
-- Set to `false` to remove a keymap
|
||||
keymaps = {
|
||||
["?"] = "actions.show_help",
|
||||
["g?"] = "actions.show_help",
|
||||
["<CR>"] = "actions.jump",
|
||||
["<2-LeftMouse>"] = "actions.jump",
|
||||
["<C-v>"] = "actions.jump_vsplit",
|
||||
["<C-s>"] = "actions.jump_split",
|
||||
["p"] = "actions.scroll",
|
||||
["<C-j>"] = "actions.down_and_scroll",
|
||||
["<C-k>"] = "actions.up_and_scroll",
|
||||
["{"] = "actions.prev",
|
||||
["}"] = "actions.next",
|
||||
["[["] = "actions.prev_up",
|
||||
["]]"] = "actions.next_up",
|
||||
["q"] = "actions.close",
|
||||
["o"] = "actions.tree_toggle",
|
||||
["za"] = "actions.tree_toggle",
|
||||
["O"] = "actions.tree_toggle_recursive",
|
||||
["zA"] = "actions.tree_toggle_recursive",
|
||||
["l"] = "actions.tree_open",
|
||||
["zo"] = "actions.tree_open",
|
||||
["L"] = "actions.tree_open_recursive",
|
||||
["zO"] = "actions.tree_open_recursive",
|
||||
["h"] = "actions.tree_close",
|
||||
["zc"] = "actions.tree_close",
|
||||
["H"] = "actions.tree_close_recursive",
|
||||
["zC"] = "actions.tree_close_recursive",
|
||||
["zr"] = "actions.tree_increase_fold_level",
|
||||
["zR"] = "actions.tree_open_all",
|
||||
["zm"] = "actions.tree_decrease_fold_level",
|
||||
["zM"] = "actions.tree_close_all",
|
||||
["zx"] = "actions.tree_sync_folds",
|
||||
["zX"] = "actions.tree_sync_folds",
|
||||
},
|
||||
|
||||
-- When true, don't load aerial until a command or function is called
|
||||
-- Defaults to true, unless `on_attach` is provided, then it defaults to false
|
||||
lazy_load = true,
|
||||
|
||||
-- Disable aerial on files with this many lines
|
||||
disable_max_lines = 10000,
|
||||
|
||||
-- Disable aerial on files this size or larger (in bytes)
|
||||
disable_max_size = 2000000, -- Default 2MB
|
||||
|
||||
-- A list of all symbols to display. Set to false to display all symbols.
|
||||
-- This can be a filetype map (see :help aerial-filetype-map)
|
||||
-- To see all available values, see :help SymbolKind
|
||||
filter_kind = {
|
||||
"Class",
|
||||
"Constructor",
|
||||
"Enum",
|
||||
"Function",
|
||||
"Interface",
|
||||
"Module",
|
||||
"Method",
|
||||
"Struct",
|
||||
},
|
||||
|
||||
-- Determines line highlighting mode when multiple splits are visible.
|
||||
-- split_width Each open window will have its cursor location marked in the
|
||||
-- aerial buffer. Each line will only be partially highlighted
|
||||
-- to indicate which window is at that location.
|
||||
-- full_width Each open window will have its cursor location marked as a
|
||||
-- full-width highlight in the aerial buffer.
|
||||
-- last Only the most-recently focused window will have its location
|
||||
-- marked in the aerial buffer.
|
||||
-- none Do not show the cursor locations in the aerial window.
|
||||
highlight_mode = "split_width",
|
||||
|
||||
-- Highlight the closest symbol if the cursor is not exactly on one.
|
||||
highlight_closest = true,
|
||||
|
||||
-- Highlight the symbol in the source buffer when cursor is in the aerial win
|
||||
highlight_on_hover = false,
|
||||
|
||||
-- When jumping to a symbol, highlight the line for this many ms.
|
||||
-- Set to false to disable
|
||||
highlight_on_jump = 300,
|
||||
|
||||
-- Define symbol icons. You can also specify "<Symbol>Collapsed" to change the
|
||||
-- icon when the tree is collapsed at that symbol, or "Collapsed" to specify a
|
||||
-- default collapsed icon. The default icon set is determined by the
|
||||
-- "nerd_font" option below.
|
||||
-- If you have lspkind-nvim installed, it will be the default icon set.
|
||||
-- This can be a filetype map (see :help aerial-filetype-map)
|
||||
icons = {},
|
||||
|
||||
-- Control which windows and buffers aerial should ignore.
|
||||
-- If attach_mode is "global", focusing an ignored window/buffer will
|
||||
-- not cause the aerial window to update.
|
||||
-- If open_automatic is true, focusing an ignored window/buffer will not
|
||||
-- cause an aerial window to open.
|
||||
-- If open_automatic is a function, ignore rules have no effect on aerial
|
||||
-- window opening behavior; it's entirely handled by the open_automatic
|
||||
-- function.
|
||||
ignore = {
|
||||
-- Ignore unlisted buffers. See :help buflisted
|
||||
unlisted_buffers = true,
|
||||
|
||||
-- List of filetypes to ignore.
|
||||
filetypes = {},
|
||||
|
||||
-- Ignored buftypes.
|
||||
-- Can be one of the following:
|
||||
-- false or nil - No buftypes are ignored.
|
||||
-- "special" - All buffers other than normal buffers are ignored.
|
||||
-- table - A list of buftypes to ignore. See :help buftype for the
|
||||
-- possible values.
|
||||
-- function - A function that returns true if the buffer should be
|
||||
-- ignored or false if it should not be ignored.
|
||||
-- Takes two arguments, `bufnr` and `buftype`.
|
||||
buftypes = "special",
|
||||
|
||||
-- Ignored wintypes.
|
||||
-- Can be one of the following:
|
||||
-- false or nil - No wintypes are ignored.
|
||||
-- "special" - All windows other than normal windows are ignored.
|
||||
-- table - A list of wintypes to ignore. See :help win_gettype() for the
|
||||
-- possible values.
|
||||
-- function - A function that returns true if the window should be
|
||||
-- ignored or false if it should not be ignored.
|
||||
-- Takes two arguments, `winid` and `wintype`.
|
||||
wintypes = "special",
|
||||
},
|
||||
|
||||
-- Use symbol tree for folding. Set to true or false to enable/disable
|
||||
-- Set to "auto" to manage folds if your previous foldmethod was 'manual'
|
||||
-- This can be a filetype map (see :help aerial-filetype-map)
|
||||
manage_folds = true,
|
||||
|
||||
-- When you fold code with za, zo, or zc, update the aerial tree as well.
|
||||
-- Only works when manage_folds = true
|
||||
-- Fold code when you open/collapse symbols in the tree.
|
||||
-- Only works when manage_folds = true
|
||||
link_tree_to_folds = true,
|
||||
|
||||
-- Set default symbol icons to use patched font icons (see https://www.nerdfonts.com/)
|
||||
-- "auto" will set it to true if nvim-web-devicons or lspkind-nvim is installed.
|
||||
nerd_font = "auto",
|
||||
|
||||
-- Call this function when aerial attaches to a buffer.
|
||||
on_attach = function(bufnr) end,
|
||||
|
||||
-- Call this function when aerial first sets symbols on a buffer.
|
||||
on_first_symbols = function(bufnr) end,
|
||||
|
||||
-- Automatically open aerial when entering supported buffers.
|
||||
-- This can be a function (see :help aerial-open-automatic)
|
||||
open_automatic = false,
|
||||
|
||||
-- Run this command after jumping to a symbol (false will disable)
|
||||
post_jump_cmd = "normal! zz",
|
||||
|
||||
-- When true, aerial will automatically close after jumping to a symbol
|
||||
close_on_select = false,
|
||||
|
||||
-- The autocmds that trigger symbols update (not used for LSP backend)
|
||||
update_events = "TextChanged,InsertLeave",
|
||||
|
||||
-- Show box drawing characters for the tree hierarchy
|
||||
show_guides = true,
|
||||
|
||||
guides = {
|
||||
-- When the child item has a sibling below it
|
||||
mid_item = "├─",
|
||||
-- When the child item is the last in the list
|
||||
last_item = "└─",
|
||||
-- When there are nested child guides to the right
|
||||
nested_top = "│ ",
|
||||
-- Raw indentation
|
||||
whitespace = " ",
|
||||
},
|
||||
|
||||
lsp = {
|
||||
-- Fetch document symbols when LSP diagnostics update.
|
||||
-- If false, will update on buffer changes.
|
||||
diagnostics_trigger_update = true,
|
||||
|
||||
-- Set to false to not update the symbols when there are LSP errors
|
||||
update_when_errors = true,
|
||||
|
||||
-- How long to wait (in ms) after a buffer change before updating
|
||||
-- Only used when diagnostics_trigger_update = false
|
||||
update_delay = 300,
|
||||
},
|
||||
|
||||
treesitter = {
|
||||
-- How long to wait (in ms) after a buffer change before updating
|
||||
update_delay = 300,
|
||||
},
|
||||
|
||||
markdown = {
|
||||
-- How long to wait (in ms) after a buffer change before updating
|
||||
update_delay = 300,
|
||||
},
|
||||
|
||||
man = {
|
||||
-- How long to wait (in ms) after a buffer change before updating
|
||||
update_delay = 300,
|
||||
},
|
||||
}
|
||||
aerial.setup(conf)
|
||||
end
|
||||
return M
|
||||
20
nvim/lua/config/aerial.lua.old
Normal file
20
nvim/lua/config/aerial.lua.old
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local aerial = require("aerial")
|
||||
local conf = {
|
||||
backends = { "treesitter", "lsp", "markdown", "man" },
|
||||
float = {
|
||||
relative = "win",
|
||||
override = function(conf)
|
||||
local padding = 1
|
||||
conf.anchor = 'NE'
|
||||
conf.row = padding
|
||||
conf.col = vim.api.nvim_win_get_width(0) - padding
|
||||
return conf
|
||||
end,
|
||||
},
|
||||
}
|
||||
aerial.setup(conf)
|
||||
end
|
||||
return M
|
||||
23
nvim/lua/config/colors.lua
Normal file
23
nvim/lua/config/colors.lua
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
local g = vim.g
|
||||
local colors = require('dracula').colors()
|
||||
|
||||
vim.cmd[[colorscheme dracula]]
|
||||
|
||||
g.rainbow_guifgs = {
|
||||
colors.red,
|
||||
colors.orange,
|
||||
colors.yellow,
|
||||
colors.green,
|
||||
colors.purple,
|
||||
colors.cyan,
|
||||
colors.pink,
|
||||
colors.bright_red,
|
||||
colors.bright_green,
|
||||
colors.bright_yellow,
|
||||
colors.bright_blue,
|
||||
colors.bright_magenta,
|
||||
colors.bright_cyan
|
||||
}
|
||||
g.rainbow_active = 1
|
||||
--vim.highlight.create('Beacon', {guibg=colors.green, guifg=colors.bg}, false)
|
||||
vim.api.nvim_set_hl(0, 'Beacon', {bg=colors.green, fg=colors.bg})
|
||||
33
nvim/lua/config/dashboard.lua
Normal file
33
nvim/lua/config/dashboard.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
local M = {}
|
||||
local home = os.getenv('HOME')
|
||||
|
||||
function scandir(directory)
|
||||
local i, t, popen = 0, {}, io.popen
|
||||
local pfile = popen('ls "'..directory..'"')
|
||||
for filename in pfile:lines() do
|
||||
i = i + 1
|
||||
t[i] = filename
|
||||
end
|
||||
pfile:close()
|
||||
return t
|
||||
end
|
||||
|
||||
|
||||
function M()
|
||||
catTable = scandir(vim.fn.stdpath('config') .. '/static/')
|
||||
math.random()
|
||||
math.randomseed(os.time()+math.random())
|
||||
math.random(); math.random(); math.random();
|
||||
file = vim.fn.stdpath('config') .. '/static/' .. catTable[math.random(#catTable)]
|
||||
local fheight = io.popen('cat '..file..' | wc -l')
|
||||
local fwidth = io.popen('awk "{print length}" '..file..' | sort -nr | head -1')
|
||||
local db = require 'dashboard'
|
||||
db.preview_command = 'cat | lolcat -F 0.3 -p 15'
|
||||
db.preview_file_path = file
|
||||
db.preview_file_height = tonumber(fheight:read("*a"))
|
||||
db.preview_file_width = tonumber(fwidth:read("*a"))
|
||||
db.header_pad = 0
|
||||
|
||||
|
||||
end
|
||||
return M()
|
||||
80
nvim/lua/config/dracula-vim.lua
Normal file
80
nvim/lua/config/dracula-vim.lua
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local dracula = require("dracula")
|
||||
--dracula.setup({
|
||||
-- customize dracula color palette
|
||||
local conf = {
|
||||
-- Default dracula colors
|
||||
-- colors = {
|
||||
-- bg = "#282A36",
|
||||
-- fg = "#F8F8F2",
|
||||
-- selection = "#44475A",
|
||||
-- comment = "#6272A4",
|
||||
-- red = "#FF5555",
|
||||
-- orange = "#FFB86C",
|
||||
-- yellow = "#F1FA8C",
|
||||
-- green = "#50fa7b",
|
||||
-- purple = "#BD93F9",
|
||||
-- cyan = "#8BE9FD",
|
||||
-- pink = "#FF79C6",
|
||||
-- bright_red = "#FF6E6E",
|
||||
-- bright_green = "#69FF94",
|
||||
-- bright_yellow = "#FFFFA5",
|
||||
-- bright_blue = "#D6ACFF",
|
||||
-- bright_magenta = "#FF92DF",
|
||||
-- bright_cyan = "#A4FFFF",
|
||||
-- bright_white = "#FFFFFF",
|
||||
-- menu = "#21222C",
|
||||
-- visual = "#3E4452",
|
||||
-- gutter_fg = "#4B5263",
|
||||
-- nontext = "#3B4048",
|
||||
-- },
|
||||
-- Dracula PRO
|
||||
colors = {
|
||||
bg = "#393649",
|
||||
fg = "#F8F8F2",
|
||||
selection = "#454158", --prof = #454158
|
||||
comment = "#6272A4", --pro = #7970A9
|
||||
red = "#FF9580",
|
||||
orange = "#FFCA80",
|
||||
yellow = "#FFFF80",
|
||||
green = "#8AFF80",
|
||||
purple = "#9580FF",
|
||||
cyan = "#80FFEA",
|
||||
pink = "#FF80BF",
|
||||
bright_red = "#FF6E6E",
|
||||
bright_green = "#69FF94",
|
||||
bright_yellow = "#FFFFA5",
|
||||
bright_blue = "#D6ACFF",
|
||||
bright_magenta = "#FF92DF",
|
||||
bright_cyan = "#A4FFFF",
|
||||
bright_white = "#FFFFFF",
|
||||
menu = "#21222C",
|
||||
visual = "#3E4452",
|
||||
gutter_fg = "#4B5263",
|
||||
nontext = "#3B4048",
|
||||
},
|
||||
-- show the '~' characters after the end of buffers
|
||||
show_end_of_buffer = true, -- default false
|
||||
-- use transparent background
|
||||
transparent_bg = true, -- default false
|
||||
-- set custom lualine background color
|
||||
lualine_bg_color = "#44475a", -- default nil
|
||||
-- set italic comment
|
||||
italic_comment = true, -- default false
|
||||
-- overrides the default highlights see `:h synIDattr`
|
||||
overrides = {
|
||||
-- Examples
|
||||
-- NonText = { fg = dracula.colors().white }, -- set NonText fg to white
|
||||
-- NvimTreeIndentMarker = { link = "NonText" }, -- link to NonText highlight
|
||||
-- Nothing = {} -- clear highlight of Nothing
|
||||
},
|
||||
}
|
||||
|
||||
dracula.setup(conf)
|
||||
|
||||
end
|
||||
-- to use colors in other places
|
||||
-- local colors = require('dracula').colors()
|
||||
return M
|
||||
17
nvim/lua/config/lualine.lua
Normal file
17
nvim/lua/config/lualine.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local lualine = require 'lualine'
|
||||
|
||||
local conf = {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = 'dracula-nvim',
|
||||
},
|
||||
sections = {
|
||||
lualine_x = {"aerial"},
|
||||
}
|
||||
}
|
||||
lualine.setup(conf)
|
||||
end
|
||||
return M
|
||||
46
nvim/lua/config/nvim-tree.lua
Normal file
46
nvim/lua/config/nvim-tree.lua
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
-- require("nvim-tree").setup({
|
||||
-- disable_netrw = true,
|
||||
-- hijack_netrw = true,
|
||||
-- sort_by = "case_sensitive",
|
||||
-- view = {
|
||||
-- adaptive_size = true,
|
||||
-- mappings = {
|
||||
-- list = {
|
||||
-- { key = "u", action = "dir_up" },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- renderer = {
|
||||
-- group_empty = true,
|
||||
-- },
|
||||
-- filters = {
|
||||
-- dotfiles = false,
|
||||
-- },
|
||||
-- })
|
||||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local ntree = require 'nvim-tree'
|
||||
|
||||
local conf = {
|
||||
disable_netrw = true,
|
||||
hijack_netrw = true,
|
||||
sort_by = "case_sensitive",
|
||||
view = {
|
||||
adaptive_size = true,
|
||||
mappings = {
|
||||
list = {
|
||||
{ key = "u", action = "dir_up" },
|
||||
},
|
||||
},
|
||||
},
|
||||
renderer = {
|
||||
group_empty = true,
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
},
|
||||
}
|
||||
ntree.setup(conf)
|
||||
end
|
||||
return M
|
||||
61
nvim/lua/config/nvim-treesitter.lua
Normal file
61
nvim/lua/config/nvim-treesitter.lua
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local colors = require('dracula').colors()
|
||||
local sitter = require("nvim-treesitter.configs")
|
||||
local conf = {
|
||||
ensure_installed = "all",
|
||||
sync_install = false,
|
||||
ignore_install = {""},
|
||||
matchup = {
|
||||
enable = true,
|
||||
disable_virtual_text = true,
|
||||
},
|
||||
highlight = {
|
||||
enable = true,
|
||||
disable = {},
|
||||
additional_vim_regex_highlighting = true,
|
||||
},
|
||||
autopairs = {
|
||||
enable = true,
|
||||
},
|
||||
indent = {
|
||||
enable = true,
|
||||
--disable = {
|
||||
--"python",
|
||||
--"css"
|
||||
--}
|
||||
--
|
||||
},
|
||||
audotag = {
|
||||
enable = true,
|
||||
disable = {
|
||||
"xml",
|
||||
"markdown",
|
||||
},
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = false,
|
||||
colors = {
|
||||
colors.red,
|
||||
colors.orange,
|
||||
colors.yellow,
|
||||
colors.green,
|
||||
colors.purple,
|
||||
colors.cyan,
|
||||
colors.pink,
|
||||
colors.bright_red,
|
||||
colors.bright_green,
|
||||
colors.bright_yellow,
|
||||
colors.bright_blue,
|
||||
colors.bright_magenta,
|
||||
colors.bright_cyan
|
||||
},
|
||||
},
|
||||
}
|
||||
sitter.setup(conf)
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
63
nvim/lua/config/whichkey.lua
Normal file
63
nvim/lua/config/whichkey.lua
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
local M = {}
|
||||
|
||||
|
||||
function M.setup()
|
||||
local whichkey = require "which-key"
|
||||
|
||||
local conf = {
|
||||
window = {
|
||||
border = "single", -- none, single, double, shadow
|
||||
position = "bottom", -- bottom, top
|
||||
},
|
||||
}
|
||||
|
||||
local opts = {
|
||||
mode = "n", -- Normal mode
|
||||
prefix = "<leader>",
|
||||
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
|
||||
silent = true, -- use `silent` when creating keymaps
|
||||
noremap = true, -- use `noremap` when creating keymaps
|
||||
nowait = false, -- use `nowait` when creating keymaps
|
||||
}
|
||||
|
||||
local mappings = {
|
||||
["w"] = { "<cmd>update!<CR>", "Save" },
|
||||
["q"] = { "<cmd>q!<CR>", "Quit" },
|
||||
["e"] = { "<cmd>NvimTreeToggle<CR>", "Nvim Tree"},
|
||||
["a"] = { "<cmd>AerialToggle! float<CR>","Aerial Toggle"},
|
||||
|
||||
o = {
|
||||
name = "+open",
|
||||
},
|
||||
|
||||
b = {
|
||||
name = "Buffer",
|
||||
c = { "<Cmd>bd!<Cr>", "Close current buffer" },
|
||||
D = { "<Cmd>%bd|e#|bd#<Cr>", "Delete all buffers" },
|
||||
},
|
||||
|
||||
z = {
|
||||
name = "Packer",
|
||||
c = { "<cmd>PackerCompile<cr>", "Compile" },
|
||||
i = { "<cmd>PackerInstall<cr>", "Install" },
|
||||
s = { "<cmd>PackerSync<cr>", "Sync" },
|
||||
S = { "<cmd>PackerStatus<cr>", "Status" },
|
||||
u = { "<cmd>PackerUpdate<cr>", "Update" },
|
||||
},
|
||||
|
||||
g = {
|
||||
name = "Git",
|
||||
s = { "<cmd>Neogit<CR>", "Status" },
|
||||
},
|
||||
|
||||
v = {
|
||||
name = "Visual",
|
||||
r = { "<cmd>RainbowToggle<cr>", "Rainbow Brackets Toggle"},
|
||||
},
|
||||
}
|
||||
|
||||
whichkey.setup(conf)
|
||||
whichkey.register(mappings, opts)
|
||||
end
|
||||
|
||||
return M
|
||||
20
nvim/lua/config/winshift.lua
Normal file
20
nvim/lua/config/winshift.lua
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
local winshift = require("winshift")
|
||||
local conf = {
|
||||
conf = {
|
||||
highlight_moving_win = true, --hl window when being moved
|
||||
focused_hl_group = "Visual", -- hl group for moving window
|
||||
moving_win_options = {
|
||||
wrap = false,
|
||||
cursorline = false,
|
||||
cusorcolumn = false,
|
||||
colorcolumn = "",
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
winshift.setup(conf)
|
||||
end
|
||||
return M
|
||||
153
nvim/lua/diag.lua
Normal file
153
nvim/lua/diag.lua
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
-- Echoing of LSP diagnostics in the commandline.
|
||||
|
||||
local M = {}
|
||||
|
||||
-- Location information about the last message printed. The format is
|
||||
|
||||
-- `(did print, buffer number, line number)`.
|
||||
|
||||
local last_echo = { false, -1, -1 }
|
||||
|
||||
-- The timer used for displaying a diagnostic in the commandline.
|
||||
|
||||
local echo_timer = nil
|
||||
|
||||
-- The timer after which to display a diagnostic in the commandline.
|
||||
|
||||
local echo_timeout = 250
|
||||
|
||||
-- The highlight group to use for warning messages.
|
||||
|
||||
local warning_hlgroup = 'WarningMsg'
|
||||
|
||||
-- The highlight group to use for error messages.
|
||||
|
||||
local error_hlgroup = 'ErrorMsg'
|
||||
|
||||
-- If the first diagnostic line has fewer than this many characters, also add
|
||||
|
||||
-- the second line to it.
|
||||
|
||||
local short_line_limit = 20
|
||||
|
||||
-- Shows the current line's diagnostics in a floating window.
|
||||
|
||||
function M.show_line_diagnostics()
|
||||
|
||||
vim
|
||||
|
||||
.lsp
|
||||
|
||||
.diagnostic
|
||||
|
||||
.show_line_diagnostics({ severity_limit = 'Warning' }, vim.fn.bufnr(''))
|
||||
|
||||
end
|
||||
|
||||
-- Prints the first diagnostic for the current line.
|
||||
|
||||
function M.echo_diagnostic()
|
||||
|
||||
if echo_timer then
|
||||
|
||||
echo_timer:stop()
|
||||
|
||||
end
|
||||
|
||||
echo_timer = vim.defer_fn(
|
||||
|
||||
function()
|
||||
|
||||
local line = vim.fn.line('.') - 1
|
||||
|
||||
local bufnr = vim.api.nvim_win_get_buf(0)
|
||||
|
||||
if last_echo[1] and last_echo[2] == bufnr and last_echo[3] == line then
|
||||
|
||||
return
|
||||
|
||||
end
|
||||
|
||||
local diags = vim
|
||||
|
||||
.lsp
|
||||
|
||||
.diagnostic
|
||||
|
||||
.get_line_diagnostics(bufnf, line, { severity_limit = 'Warning' })
|
||||
|
||||
if #diags == 0 then
|
||||
|
||||
-- If we previously echo'd a message, clear it out by echoing an empty
|
||||
|
||||
-- message.
|
||||
|
||||
if last_echo[1] then
|
||||
|
||||
last_echo = { false, -1, -1 }
|
||||
|
||||
vim.api.nvim_command('echo ""')
|
||||
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
end
|
||||
|
||||
last_echo = { true, bufnr, line }
|
||||
|
||||
local diag = diags[1]
|
||||
|
||||
local width = vim.api.nvim_get_option('columns') - 15
|
||||
|
||||
local lines = vim.split(diag.message, "\n")
|
||||
|
||||
local message = lines[1]
|
||||
|
||||
local trimmed = false
|
||||
|
||||
if #lines > 1 and #message <= short_line_limit then
|
||||
|
||||
message = message .. ' ' .. lines[2]
|
||||
|
||||
end
|
||||
|
||||
if width > 0 and #message >= width then
|
||||
|
||||
message = message:sub(1, width) .. '...'
|
||||
|
||||
end
|
||||
|
||||
local kind = 'warning'
|
||||
|
||||
local hlgroup = warning_hlgroup
|
||||
|
||||
if diag.severity == vim.lsp.protocol.DiagnosticSeverity.Error then
|
||||
|
||||
kind = 'error'
|
||||
|
||||
hlgroup = error_hlgroup
|
||||
|
||||
end
|
||||
|
||||
local chunks = {
|
||||
|
||||
{ kind .. ': ', hlgroup },
|
||||
|
||||
{ message }
|
||||
|
||||
}
|
||||
|
||||
vim.api.nvim_echo(chunks, false, {})
|
||||
|
||||
end,
|
||||
|
||||
echo_timeout
|
||||
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
return M
|
||||
|
||||
|
||||
22
nvim/lua/key_bindings.lua
Normal file
22
nvim/lua/key_bindings.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
local keymap = vim.api.nvim_set_keymap
|
||||
local default_opts = { noremap = true, silent = true }
|
||||
local expr_opts = { noremap = true, expr = true, silent = true }
|
||||
|
||||
-- Better escape using jk in insert and terminal mode
|
||||
keymap("i", "jk", "<ESC>", default_opts)
|
||||
keymap("t", "jk", "<C-\\><C-n>", default_opts)
|
||||
-- Center search results
|
||||
keymap("n", "n", "nzz", default_opts)
|
||||
keymap("n", "N", "Nzz", default_opts)
|
||||
-- Paste over currently selected text without yanking it
|
||||
keymap("v", "p", '"_dP', default_opts)
|
||||
-- Cancel search highlighting with ESC
|
||||
keymap("n", "<ESC>", ":nohlsearch<Bar>:echo<CR>", default_opts)
|
||||
-- Move selected line / block of text in visual mode
|
||||
keymap("x", "K", ":move '<-2<CR>gv-gv", default_opts)
|
||||
keymap("x", "J", ":move '>+1<CR>gv-gv", default_opts)
|
||||
-- Resizing panes
|
||||
keymap("n", "<S-Left>", ":vertical resize +1<CR>", default_opts)
|
||||
keymap("n", "<S-Right>", ":vertical resize -1<CR>", default_opts)
|
||||
keymap("n", "<S-Up>", ":resize -1<CR>", default_opts)
|
||||
keymap("n", "<S-Down>", ":resize +1<CR>", default_opts)
|
||||
148
nvim/lua/plugins.lua
Normal file
148
nvim/lua/plugins.lua
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
local M = {}
|
||||
|
||||
function M.setup()
|
||||
-- Indicate first time installation
|
||||
local packer_bootstrap = false
|
||||
-- packer.nvim configuration
|
||||
--
|
||||
local conf = {
|
||||
display = {
|
||||
open_fn = function()
|
||||
return require("packer.util").float { border = "rounded" }
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
-- Check if packer.nvim is installed
|
||||
-- Run PackerCompile if there are changes in this file
|
||||
local function packer_init()
|
||||
local fn = vim.fn
|
||||
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
packer_bootstrap = fn.system {
|
||||
"git",
|
||||
"clone",
|
||||
"--depth",
|
||||
"1",
|
||||
"https://github.com/wbthomason/packer.nvim",
|
||||
install_path,
|
||||
}
|
||||
vim.cmd [[packadd packer.nvim]]
|
||||
end
|
||||
vim.cmd "autocmd BufWritePost plugins.lua source <afile> | PackerCompile"
|
||||
end
|
||||
-- Plugins
|
||||
local function plugins(use)
|
||||
use { "wbthomason/packer.nvim" }
|
||||
-- rainbow brackets
|
||||
use { 'frazrepo/vim-rainbow' }
|
||||
use { "p00f/nvim-ts-rainbow" }
|
||||
use { "tpope/vim-surround" }
|
||||
use { "danilamihailov/beacon.nvim" }
|
||||
use {
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
requires = {
|
||||
-- LSP Support
|
||||
{'neovim/nvim-lspconfig'},
|
||||
{'williamboman/mason.nvim'},
|
||||
{'williamboman/mason-lspconfig.nvim'},
|
||||
|
||||
-- Autocompletion
|
||||
{'hrsh7th/nvim-cmp'},
|
||||
{'hrsh7th/cmp-buffer'},
|
||||
{'hrsh7th/cmp-path'},
|
||||
{'saadparwaiz1/cmp_luasnip'},
|
||||
{'hrsh7th/cmp-nvim-lsp'},
|
||||
{'hrsh7th/cmp-nvim-lua'},
|
||||
|
||||
-- Snippets
|
||||
{'L3MON4D3/LuaSnip'},
|
||||
{'rafamadriz/friendly-snippets'},
|
||||
}
|
||||
}
|
||||
|
||||
use {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
run = function()
|
||||
require('nvim-treesitter.install').update({ with_sync = true })
|
||||
end,
|
||||
config = function()
|
||||
require('config.nvim-treesitter').setup()
|
||||
end,
|
||||
}
|
||||
use {
|
||||
'stevearc/aerial.nvim',
|
||||
}
|
||||
use {
|
||||
'sindrets/winshift.nvim',
|
||||
config = function()
|
||||
require('config.winshift').setup()
|
||||
end,
|
||||
}
|
||||
-- Better icons
|
||||
use {
|
||||
"kyazdani42/nvim-web-devicons",
|
||||
module = "nvim-web-devicons",
|
||||
config = function()
|
||||
require("nvim-web-devicons").setup { default = true }
|
||||
end,
|
||||
}
|
||||
-- dracula-vim
|
||||
use {
|
||||
'Mofiqul/dracula.nvim',
|
||||
config = function()
|
||||
require('config.dracula-vim').setup()
|
||||
end,
|
||||
}
|
||||
-- nvim-tree
|
||||
use {
|
||||
'kyazdani42/nvim-tree.lua',
|
||||
config = function()
|
||||
require('config.nvim-tree').setup()
|
||||
end,
|
||||
}
|
||||
|
||||
-- lua-line
|
||||
use {
|
||||
'nvim-lualine/lualine.nvim',
|
||||
config = function()
|
||||
require("config.lualine").setup()
|
||||
end,
|
||||
}
|
||||
|
||||
-- WhichKey
|
||||
use {
|
||||
"folke/which-key.nvim",
|
||||
config = function()
|
||||
require("config.whichkey").setup()
|
||||
end,
|
||||
}
|
||||
|
||||
--dashboard-nvim
|
||||
use {
|
||||
'glepnir/dashboard-nvim',
|
||||
config = function()
|
||||
require("config.dashboard")
|
||||
end,
|
||||
}
|
||||
-- Bootstrap Neovim
|
||||
if packer_bootstrap then
|
||||
print "Restart Neovim required after installation!"
|
||||
require("packer").sync()
|
||||
end
|
||||
end
|
||||
|
||||
packer_init()
|
||||
|
||||
local packer = require "packer"
|
||||
packer.init(conf)
|
||||
packer.startup(plugins)
|
||||
local lsp = require('lsp-zero')
|
||||
lsp.preset('recommended')
|
||||
lsp.nvim_workspace()
|
||||
lsp.setup{
|
||||
on_attach = require("aerial").on_attach,
|
||||
}
|
||||
end
|
||||
|
||||
return M.setup()
|
||||
290
nvim/plugin/packer_compiled.lua
Normal file
290
nvim/plugin/packer_compiled.lua
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
-- Automatically generated packer.nvim plugin loader code
|
||||
|
||||
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||
return
|
||||
end
|
||||
|
||||
vim.api.nvim_command('packadd packer.nvim')
|
||||
|
||||
local no_errors, error_msg = pcall(function()
|
||||
|
||||
_G._packer = _G._packer or {}
|
||||
_G._packer.inside_compile = true
|
||||
|
||||
local time
|
||||
local profile_info
|
||||
local should_profile = false
|
||||
if should_profile then
|
||||
local hrtime = vim.loop.hrtime
|
||||
profile_info = {}
|
||||
time = function(chunk, start)
|
||||
if start then
|
||||
profile_info[chunk] = hrtime()
|
||||
else
|
||||
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||
end
|
||||
end
|
||||
else
|
||||
time = function(chunk, start) end
|
||||
end
|
||||
|
||||
local function save_profiles(threshold)
|
||||
local sorted_times = {}
|
||||
for chunk_name, time_taken in pairs(profile_info) do
|
||||
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||
end
|
||||
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||
local results = {}
|
||||
for i, elem in ipairs(sorted_times) do
|
||||
if not threshold or threshold and elem[2] > threshold then
|
||||
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||
end
|
||||
end
|
||||
if threshold then
|
||||
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
|
||||
end
|
||||
|
||||
_G._packer.profile_output = results
|
||||
end
|
||||
|
||||
time([[Luarocks path setup]], true)
|
||||
local package_path_str = "/home/mr0xb/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/mr0xb/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/mr0xb/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/mr0xb/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||
local install_cpath_pattern = "/home/mr0xb/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
|
||||
if not string.find(package.path, package_path_str, 1, true) then
|
||||
package.path = package.path .. ';' .. package_path_str
|
||||
end
|
||||
|
||||
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||
end
|
||||
|
||||
time([[Luarocks path setup]], false)
|
||||
time([[try_loadstring definition]], true)
|
||||
local function try_loadstring(s, component, name)
|
||||
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||
if not success then
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||
end)
|
||||
end
|
||||
return result
|
||||
end
|
||||
|
||||
time([[try_loadstring definition]], false)
|
||||
time([[Defining packer_plugins]], true)
|
||||
_G.packer_plugins = {
|
||||
LuaSnip = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||
},
|
||||
["aerial.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/aerial.nvim",
|
||||
url = "https://github.com/stevearc/aerial.nvim"
|
||||
},
|
||||
["beacon.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/beacon.nvim",
|
||||
url = "https://github.com/danilamihailov/beacon.nvim"
|
||||
},
|
||||
["cmp-buffer"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/cmp-buffer",
|
||||
url = "https://github.com/hrsh7th/cmp-buffer"
|
||||
},
|
||||
["cmp-nvim-lsp"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||
},
|
||||
["cmp-nvim-lua"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
|
||||
url = "https://github.com/hrsh7th/cmp-nvim-lua"
|
||||
},
|
||||
["cmp-path"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/cmp-path",
|
||||
url = "https://github.com/hrsh7th/cmp-path"
|
||||
},
|
||||
cmp_luasnip = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||
},
|
||||
["dashboard-nvim"] = {
|
||||
config = { "\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21config.dashboard\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/dashboard-nvim",
|
||||
url = "https://github.com/glepnir/dashboard-nvim"
|
||||
},
|
||||
["dracula.nvim"] = {
|
||||
config = { "\27LJ\2\n@\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\23config.dracula-vim\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/dracula.nvim",
|
||||
url = "https://github.com/Mofiqul/dracula.nvim"
|
||||
},
|
||||
["friendly-snippets"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/friendly-snippets",
|
||||
url = "https://github.com/rafamadriz/friendly-snippets"
|
||||
},
|
||||
["lsp-zero.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/lsp-zero.nvim",
|
||||
url = "https://github.com/VonHeikemen/lsp-zero.nvim"
|
||||
},
|
||||
["lualine.nvim"] = {
|
||||
config = { "\27LJ\2\n<\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\19config.lualine\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/lualine.nvim",
|
||||
url = "https://github.com/nvim-lualine/lualine.nvim"
|
||||
},
|
||||
["mason-lspconfig.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
|
||||
url = "https://github.com/williamboman/mason-lspconfig.nvim"
|
||||
},
|
||||
["mason.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/mason.nvim",
|
||||
url = "https://github.com/williamboman/mason.nvim"
|
||||
},
|
||||
["nvim-cmp"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||
},
|
||||
["nvim-lspconfig"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||
url = "https://github.com/neovim/nvim-lspconfig"
|
||||
},
|
||||
["nvim-tree.lua"] = {
|
||||
config = { "\27LJ\2\n>\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\21config.nvim-tree\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
|
||||
url = "https://github.com/kyazdani42/nvim-tree.lua"
|
||||
},
|
||||
["nvim-treesitter"] = {
|
||||
config = { "\27LJ\2\nD\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\27config.nvim-treesitter\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||
},
|
||||
["nvim-ts-rainbow"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/nvim-ts-rainbow",
|
||||
url = "https://github.com/p00f/nvim-ts-rainbow"
|
||||
},
|
||||
["nvim-web-devicons"] = {
|
||||
config = { "\27LJ\2\nO\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0005\2\3\0B\0\2\1K\0\1\0\1\0\1\fdefault\2\nsetup\22nvim-web-devicons\frequire\0" },
|
||||
loaded = false,
|
||||
needs_bufread = false,
|
||||
only_cond = false,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons",
|
||||
url = "https://github.com/kyazdani42/nvim-web-devicons"
|
||||
},
|
||||
["packer.nvim"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||
url = "https://github.com/wbthomason/packer.nvim"
|
||||
},
|
||||
["vim-rainbow"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/vim-rainbow",
|
||||
url = "https://github.com/frazrepo/vim-rainbow"
|
||||
},
|
||||
["vim-surround"] = {
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/vim-surround",
|
||||
url = "https://github.com/tpope/vim-surround"
|
||||
},
|
||||
["which-key.nvim"] = {
|
||||
config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20config.whichkey\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/which-key.nvim",
|
||||
url = "https://github.com/folke/which-key.nvim"
|
||||
},
|
||||
["winshift.nvim"] = {
|
||||
config = { "\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20config.winshift\frequire\0" },
|
||||
loaded = true,
|
||||
path = "/home/mr0xb/.local/share/nvim/site/pack/packer/start/winshift.nvim",
|
||||
url = "https://github.com/sindrets/winshift.nvim"
|
||||
}
|
||||
}
|
||||
|
||||
time([[Defining packer_plugins]], false)
|
||||
local module_lazy_loads = {
|
||||
["^nvim%-web%-devicons"] = "nvim-web-devicons"
|
||||
}
|
||||
local lazy_load_called = {['packer.load'] = true}
|
||||
local function lazy_load_module(module_name)
|
||||
local to_load = {}
|
||||
if lazy_load_called[module_name] then return nil end
|
||||
lazy_load_called[module_name] = true
|
||||
for module_pat, plugin_name in pairs(module_lazy_loads) do
|
||||
if not _G.packer_plugins[plugin_name].loaded and string.match(module_name, module_pat) then
|
||||
to_load[#to_load + 1] = plugin_name
|
||||
end
|
||||
end
|
||||
|
||||
if #to_load > 0 then
|
||||
require('packer.load')(to_load, {module = module_name}, _G.packer_plugins)
|
||||
local loaded_mod = package.loaded[module_name]
|
||||
if loaded_mod then
|
||||
return function(modname) return loaded_mod end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if not vim.g.packer_custom_loader_enabled then
|
||||
table.insert(package.loaders, 1, lazy_load_module)
|
||||
vim.g.packer_custom_loader_enabled = true
|
||||
end
|
||||
|
||||
-- Config for: winshift.nvim
|
||||
time([[Config for winshift.nvim]], true)
|
||||
try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20config.winshift\frequire\0", "config", "winshift.nvim")
|
||||
time([[Config for winshift.nvim]], false)
|
||||
-- Config for: lualine.nvim
|
||||
time([[Config for lualine.nvim]], true)
|
||||
try_loadstring("\27LJ\2\n<\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\19config.lualine\frequire\0", "config", "lualine.nvim")
|
||||
time([[Config for lualine.nvim]], false)
|
||||
-- Config for: dashboard-nvim
|
||||
time([[Config for dashboard-nvim]], true)
|
||||
try_loadstring("\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21config.dashboard\frequire\0", "config", "dashboard-nvim")
|
||||
time([[Config for dashboard-nvim]], false)
|
||||
-- Config for: which-key.nvim
|
||||
time([[Config for which-key.nvim]], true)
|
||||
try_loadstring("\27LJ\2\n=\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\20config.whichkey\frequire\0", "config", "which-key.nvim")
|
||||
time([[Config for which-key.nvim]], false)
|
||||
-- Config for: nvim-treesitter
|
||||
time([[Config for nvim-treesitter]], true)
|
||||
try_loadstring("\27LJ\2\nD\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\27config.nvim-treesitter\frequire\0", "config", "nvim-treesitter")
|
||||
time([[Config for nvim-treesitter]], false)
|
||||
-- Config for: nvim-tree.lua
|
||||
time([[Config for nvim-tree.lua]], true)
|
||||
try_loadstring("\27LJ\2\n>\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\21config.nvim-tree\frequire\0", "config", "nvim-tree.lua")
|
||||
time([[Config for nvim-tree.lua]], false)
|
||||
-- Config for: dracula.nvim
|
||||
time([[Config for dracula.nvim]], true)
|
||||
try_loadstring("\27LJ\2\n@\0\0\3\0\3\0\0066\0\0\0'\2\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\23config.dracula-vim\frequire\0", "config", "dracula.nvim")
|
||||
time([[Config for dracula.nvim]], false)
|
||||
|
||||
_G._packer.inside_compile = false
|
||||
if _G._packer.needs_bufread == true then
|
||||
vim.cmd("doautocmd BufRead")
|
||||
end
|
||||
_G._packer.needs_bufread = false
|
||||
|
||||
if should_profile then save_profiles() end
|
||||
|
||||
end)
|
||||
|
||||
if not no_errors then
|
||||
error_msg = error_msg:gsub('"', '\\"')
|
||||
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||
end
|
||||
26
nvim/static/apple.cat
Normal file
26
nvim/static/apple.cat
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
.8
|
||||
.888
|
||||
.8888'
|
||||
.8888'
|
||||
888'
|
||||
8'
|
||||
.88888888888. .88888888888.
|
||||
.8888888888888888888888888888888.
|
||||
.8888888888888888888888888888888888.
|
||||
.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
|
||||
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
|
||||
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:
|
||||
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.
|
||||
`%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.
|
||||
`00000000000000000000000000000000000'
|
||||
`000000000000000000000000000000000'
|
||||
`0000000000000000000000000000000'
|
||||
`###########################'
|
||||
jgs `#######################'
|
||||
`#########''########'
|
||||
`""""""' `"""""'
|
||||
|
||||
31
nvim/static/htp2.cat
Normal file
31
nvim/static/htp2.cat
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
_ood>H&H&Z?#M#b-\.
|
||||
.\HMMMMMR?`\M6b."`' ''``v.
|
||||
.. .MMMMMMMMMMHMMM#&. ``~o.
|
||||
. ,HMMMMMMMMMM`' ' ?MP?.
|
||||
. |MMMMMMMMMMM' `"$b&\
|
||||
- |MMMMHH##M' HMMH?
|
||||
- TTM| >.. \HMMMMH
|
||||
: |MM\,#-""$~b\. `MMMMMM+
|
||||
. ``"H&# - &MMMMMM|
|
||||
: *\v,#MHddc. `9MMMMMb
|
||||
. MMMMMMMM##\ `"":HM
|
||||
- . .HMMMMMMMMMMRo_. |M
|
||||
: |MMMMMMMMMMMMMMMM#\ :M
|
||||
- `HMMMMMMMMMMMMMM' |T
|
||||
: `*HMMMMMMMMMMM' H'
|
||||
: MMMMMMMMMMM| |T
|
||||
; MMMMMMMM?' ./
|
||||
` MMMMMMH' ./'
|
||||
- |MMMH#' .
|
||||
` `MM* . `
|
||||
_ #M: . . .-'
|
||||
. ., .-'
|
||||
'-.-~ooHH__,,v~--`'
|
||||
|
||||
__ __ __ __ __ ____ __ __
|
||||
/ / / /___ ______/ /__ / /_/ /_ ___ / __ \/ /___ _____ ___ / /_
|
||||
/ /_/ / __ `/ ___/ //_/ / __/ __ \/ _ \ / /_/ / / __ `/ __ \/ _ \/ __/
|
||||
/ __ / /_/ / /__/ ,< / /_/ / / / __/ / ____/ / /_/ / / / / __/ /_
|
||||
/_/ /_/\__,_/\___/_/|_| \__/_/ /_/\___/ /_/ /_/\__,_/_/ /_/\___/\__/
|
||||
|
||||
10
nvim/static/invaders.cat
Normal file
10
nvim/static/invaders.cat
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
____
|
||||
/___/\_ __
|
||||
_\ \/_/\__ _| |_
|
||||
__\ \/_/\ _| |_
|
||||
\ __ __ \ \ | _ _ |
|
||||
__\ \_\ \_\ \ \ __ | |_| |_| |
|
||||
/_/\\ __ __ \ \_/_/\ _ | _ _ | _
|
||||
\_\/_\__\/\__\/\__\/_\_\/ |_|_|_| |__| |_|_|_|
|
||||
\_\/_/\ /_\_\/ |_|_ _|_|
|
||||
\_\/ \_\/ |_| |_|
|
||||
26
nvim/static/quake.cat
Normal file
26
nvim/static/quake.cat
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
_______________________________________
|
||||
|\ ___________________________________ /|
|
||||
| | _ _ | |
|
||||
| |(+) _ _ (+)| |
|
||||
| | ~ _--/ \--_ ~ | |
|
||||
| | / / \ \ | |
|
||||
| | / | | \ | |
|
||||
| | / | | \ | |
|
||||
| | | | _______ | | | |
|
||||
| | | | \ / | | | |
|
||||
| | \ \_ | | _/ / | |
|
||||
| | \ -__| |__- / | |
|
||||
| | \_ _/ | |
|
||||
| | --__ __-- | |
|
||||
| | --| |-- | |
|
||||
| | | | | |
|
||||
| | | | | |
|
||||
| | | | |
|
||||
| | | |
|
||||
| | I S G O O D F O R Y O U | |
|
||||
| | _ _ | |
|
||||
| |(+) (+)| |
|
||||
| | ~ ~ | |
|
||||
|/ ----------------------------------- \|
|
||||
---------------------------------------
|
||||
|
||||
19
nvim/static/tux.cat
Normal file
19
nvim/static/tux.cat
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
.-"""-.
|
||||
' \
|
||||
|,. ,-. |
|
||||
|()L( ()| |
|
||||
|,' `".| |
|
||||
|.___.',| `
|
||||
.j `--"' ` `.
|
||||
/ ' ' \
|
||||
/ / ` `.
|
||||
/ / ` .
|
||||
/ / l |
|
||||
. , | |
|
||||
,"`. .| |
|
||||
_.' ``. | `..-'l
|
||||
| `.`, | `.
|
||||
| `. __.j )
|
||||
|__ |--""___| ,-'
|
||||
`"--...,+"""" `._,.-' mh
|
||||
|
||||
22
nvim/static/y2k.cat
Normal file
22
nvim/static/y2k.cat
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
/'. /| .'\
|
||||
,._ |+i\ /++\ / +| ,,
|
||||
|*+'._/+++\/+ ++\/+++<_.-'+|
|
||||
:-. \ ++++?++ +++++*++++++ +++ / .-:
|
||||
|*+\_/++++ +++*++ ++++++ ++?++++\_/ +|
|
||||
, \*+++++ ++++ +++*+++ ++++ +++ +++++/ ,
|
||||
\'-._> +__+*++__*+++_+__*++ ++__++++__*<_.-'/
|
||||
`>*+++| \++/ |+*/ `\ +| |++/ |++++<'
|
||||
_,-'+ * +*\ \/ /++|__.-. |+ | |+/ /+ +*+'-._
|
||||
'-.*+++++++\ /+ ++++++/ / *| |/ /+ ++++++.-'
|
||||
> *+++++\ /*++++ +/` /`+++| < *++ +++<
|
||||
_,-'* +++ ++| |++ +*/` /` +* +| |\ \+ ++++++'-._
|
||||
`-._+ +*++?+| |+++*| '-----.+| |+\ \+* ++ +_.-'
|
||||
_`\++++++|__|+ *+|________|+|__|++\__|++++/`_
|
||||
/*++_+* + +++++ ++ + ++++ +++++ ++ ++++ ++_+*+\
|
||||
'--' `>*+++ +++++ +++++*++++ +++ ++++ ?<' '--'
|
||||
/++_++ ++ ++++++ ++?+ +++++*+++ ++++ \
|
||||
|_/ `\++ ++ +++*++++++++++ ++++*./`\_|
|
||||
/+*.-.*+ +_ ++*+ _+++ .-.* +\
|
||||
jgs | / | +/ `\?+/` \*+| \ |
|
||||
' \.' |/ './ '
|
||||
|
||||
11
sxhkd.service
Normal file
11
sxhkd.service
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
[Unit]
|
||||
Description=Simple X Hotkey Daemon
|
||||
Documentation=man:sxhkd(1)
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/usr/bin/sleep 2
|
||||
ExecStart=/usr/bin/sxhkd -m 1
|
||||
ExecReload=/usr/bin/kill -SIGUSR1 $MAINPID
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
6
sxhkd/sxhkdrc
Normal file
6
sxhkd/sxhkdrc
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#alacritty
|
||||
alt + z
|
||||
tdrop -n top --width 100% --height 65% --post-map-hook 'wmctrl -r "Alacritty - Drop Down - Top" -b add,above,sticky' alacritty --title 'Alacritty - Drop Down - Top'
|
||||
|
||||
super + shift + Return
|
||||
tdrop -n top --width 100% --height 65% --post-map-hook 'wmctrl -r "Alacritty - Drop Down - Top" -b add,above,sticky' alacritty --title 'Alacritty - Drop Down - Top'
|
||||
276
zellij/config.kdl
Normal file
276
zellij/config.kdl
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
|
||||
keybinds {
|
||||
normal {
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
locked {
|
||||
bind "Ctrl g" { SwitchToMode "Normal"; }
|
||||
}
|
||||
resize {
|
||||
bind "Ctrl n" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { Resize "Left"; }
|
||||
bind "j" "Down" { Resize "Down"; }
|
||||
bind "k" "Up" { Resize "Up"; }
|
||||
bind "l" "Right" { Resize "Right"; }
|
||||
bind "=" "+" { Resize "Increase"; }
|
||||
bind "-" { Resize "Decrease"; }
|
||||
}
|
||||
pane {
|
||||
bind "Ctrl p" { SwitchToMode "Normal"; }
|
||||
bind "h" "Left" { MoveFocus "Left"; }
|
||||
bind "l" "Right" { MoveFocus "Right"; }
|
||||
bind "j" "Down" { MoveFocus "Down"; }
|
||||
bind "k" "Up" { MoveFocus "Up"; }
|
||||
bind "p" { SwitchFocus; }
|
||||
bind "n" { NewPane; SwitchToMode "Normal"; }
|
||||
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseFocus; SwitchToMode "Normal"; }
|
||||
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
|
||||
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
|
||||
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
|
||||
}
|
||||
move {
|
||||
bind "Ctrl h" { SwitchToMode "Normal"; }
|
||||
bind "n" "Tab" { MovePane; }
|
||||
bind "h" "Left" { MovePane "Left"; }
|
||||
bind "j" "Down" { MovePane "Down"; }
|
||||
bind "k" "Up" { MovePane "Up"; }
|
||||
bind "l" "Right" { MovePane "Right"; }
|
||||
}
|
||||
tab {
|
||||
bind "Ctrl t" { SwitchToMode "Normal"; }
|
||||
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
|
||||
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
|
||||
bind "l" "Right" "Down" "j" { GoToNextTab; }
|
||||
bind "n" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "x" { CloseTab; SwitchToMode "Normal"; }
|
||||
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
|
||||
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
|
||||
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
|
||||
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
|
||||
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
|
||||
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
|
||||
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
|
||||
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
|
||||
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
|
||||
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
|
||||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
// uncomment this and adjust key if using copy_on_select=false
|
||||
// bind "Alt c" { Copy; }
|
||||
}
|
||||
search {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
bind "j" "Down" { ScrollDown; }
|
||||
bind "k" "Up" { ScrollUp; }
|
||||
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
|
||||
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
|
||||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
}
|
||||
entersearch {
|
||||
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
|
||||
bind "Enter" { SwitchToMode "Search"; }
|
||||
}
|
||||
renametab {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
|
||||
}
|
||||
renamepane {
|
||||
bind "Ctrl c" { SwitchToMode "Normal"; }
|
||||
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
|
||||
}
|
||||
session {
|
||||
bind "Ctrl o" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
tmux {
|
||||
bind "[" { SwitchToMode "Scroll"; }
|
||||
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
|
||||
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
|
||||
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
|
||||
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
|
||||
bind "c" { NewTab; SwitchToMode "Normal"; }
|
||||
bind "," { SwitchToMode "RenameTab"; }
|
||||
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
|
||||
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
|
||||
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
|
||||
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
|
||||
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
|
||||
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
|
||||
bind "o" { FocusNextPane; }
|
||||
bind "d" { Detach; }
|
||||
}
|
||||
shared_except "locked" {
|
||||
bind "Ctrl g" { SwitchToMode "Locked"; }
|
||||
bind "Ctrl q" { Quit; }
|
||||
bind "Alt n" { NewPane; }
|
||||
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
|
||||
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
|
||||
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
|
||||
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
|
||||
bind "Alt =" "Alt +" { Resize "Increase"; }
|
||||
bind "Alt -" { Resize "Decrease"; }
|
||||
}
|
||||
shared_except "normal" "locked" {
|
||||
bind "Enter" "Esc" { SwitchToMode "Normal"; }
|
||||
}
|
||||
shared_except "pane" "locked" {
|
||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
||||
}
|
||||
shared_except "resize" "locked" {
|
||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
||||
}
|
||||
shared_except "scroll" "locked" {
|
||||
bind "Ctrl s" { SwitchToMode "Scroll"; }
|
||||
}
|
||||
shared_except "session" "locked" {
|
||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
||||
}
|
||||
shared_except "tab" "locked" {
|
||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
||||
}
|
||||
shared_except "move" "locked" {
|
||||
bind "Ctrl h" { SwitchToMode "Move"; }
|
||||
}
|
||||
shared_except "tmux" "locked" {
|
||||
bind "Ctrl b" { SwitchToMode "Tmux"; }
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
tab-bar { path "tab-bar"; }
|
||||
status-bar { path "status-bar"; }
|
||||
strider { path "strider"; }
|
||||
compact-bar { path "compact-bar"; }
|
||||
}
|
||||
|
||||
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
|
||||
// eg. when terminal window with an active zellij session is closed
|
||||
// Options:
|
||||
// - detach (Default)
|
||||
// - quit
|
||||
//
|
||||
// on_force_close "quit"
|
||||
|
||||
// Send a request for a simplified ui (without arrow fonts) to plugins
|
||||
// Options:
|
||||
// - true
|
||||
// - false (Default)
|
||||
//
|
||||
// simplified_ui true
|
||||
|
||||
// Choose the path to the default shell that zellij will use for opening new panes
|
||||
// Default: $SHELL
|
||||
//
|
||||
// default_shell "fish"
|
||||
|
||||
// Toggle between having pane frames around the panes
|
||||
// Options:
|
||||
// - true (default)
|
||||
// - false
|
||||
//
|
||||
// pane_frames true
|
||||
|
||||
// Define color themes for Zellij
|
||||
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
|
||||
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
|
||||
//
|
||||
themes {
|
||||
dracula {
|
||||
fg 248 248 242
|
||||
bg 40 42 54
|
||||
red 255 85 85
|
||||
green 80 250 123
|
||||
yellow 241 250 140
|
||||
blue 98 114 164
|
||||
magenta 255 121 198
|
||||
orange 255 184 108
|
||||
cyan 139 233 253
|
||||
black 0 0 0
|
||||
white 255 255 255
|
||||
}
|
||||
}
|
||||
|
||||
// Choose the theme that is specified in the themes section.
|
||||
// Default: default
|
||||
//
|
||||
theme "dracula"
|
||||
|
||||
// The name of the default layout to load on startup
|
||||
// Default: "default"
|
||||
//
|
||||
// default_layout "compact"
|
||||
|
||||
// Choose the mode that zellij uses when starting up.
|
||||
// Default: normal
|
||||
//
|
||||
// default_mode "locked"
|
||||
|
||||
// Toggle enabling the mouse mode.
|
||||
// On certain configurations, or terminals this could
|
||||
// potentially interfere with copying text.
|
||||
mouse_mode true
|
||||
scroll_buffer_size 20000
|
||||
|
||||
copy_command "xclip -selection clipboard" // x11
|
||||
// copy_command "wl-copy" // wayland
|
||||
// copy_command "pbcopy" // osx
|
||||
|
||||
// Choose the destination for copied text
|
||||
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
|
||||
// Does not apply when using copy_command.
|
||||
// Options:
|
||||
// - system (default)
|
||||
// - primary
|
||||
//
|
||||
// copy_clipboard "primary"
|
||||
|
||||
// Enable or disable automatic copy (and clear) of selection when releasing mouse
|
||||
// Default: true
|
||||
//
|
||||
// copy_on_select false
|
||||
copy_on_select true
|
||||
// Path to the default editor to use to edit pane scrollbuffer
|
||||
// Default: $EDITOR or $VISUAL
|
||||
//
|
||||
// scrollback_editor "/usr/bin/vim"
|
||||
|
||||
// When attaching to an existing session with other users,
|
||||
// should the session be mirrored (true)
|
||||
// or should each user have their own cursor (false)
|
||||
// Default: false
|
||||
//
|
||||
// mirror_session true
|
||||
|
||||
// The folder in which Zellij will look for layouts
|
||||
//
|
||||
// layout_dir "/path/to/my/layout_dir"
|
||||
|
||||
theme_dir "/home/mr0xb/.config/zellij_cfg/themes"
|
||||
Loading…
Reference in a new issue