added themes, niri waybar updat, nvim plugins updates and additions
This commit is contained in:
@@ -98,8 +98,7 @@ index-format=notmuch://~/.local/share/mail
|
|||||||
#index-columns=flags:4,name<20%,subject,date>=
|
#index-columns=flags:4,name<20%,subject,date>=
|
||||||
border-char-vertical="│"
|
border-char-vertical="│"
|
||||||
border-char-horizontal="─"
|
border-char-horizontal="─"
|
||||||
# styleset-name=catppuccin-mocha
|
# styleset-name=rose-pine
|
||||||
styleset-name=rose-pine
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Each name in index-columns must have a corresponding column-$name setting.
|
# Each name in index-columns must have a corresponding column-$name setting.
|
||||||
@@ -638,9 +637,16 @@ header-layout=From,To,Subject,Date
|
|||||||
#parse-http-links=true
|
#parse-http-links=true
|
||||||
|
|
||||||
[compose]
|
[compose]
|
||||||
editor=nvim # or your preferred editor
|
editor=nvim +'set ft=mail'
|
||||||
|
|
||||||
|
# editor=nvim +setf\ mail
|
||||||
|
# editor=nvim # or your preferred editor
|
||||||
|
# Address book command
|
||||||
address-book-cmd=abook --mutt-query '%s'
|
address-book-cmd=abook --mutt-query '%s'
|
||||||
# Specifies the command to run the editor with. It will be shown in an embedded
|
|
||||||
|
# Auto-complete addresses
|
||||||
|
# address-book-cmd-match='%s'
|
||||||
|
# address-book-cmd=abook --mutt-query '%s'
|
||||||
# terminal, though it may also launch a graphical window if the environment
|
# terminal, though it may also launch a graphical window if the environment
|
||||||
# supports it. Defaults to $EDITOR, or vi.
|
# supports it. Defaults to $EDITOR, or vi.
|
||||||
#editor=
|
#editor=
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
*.default=true
|
|
||||||
*.normal=true
|
|
||||||
|
|
||||||
default.fg=#cdd6f4
|
|
||||||
|
|
||||||
error.fg=#f38ba8
|
|
||||||
warning.fg=#fab387
|
|
||||||
success.fg=#a6e3a1
|
|
||||||
|
|
||||||
tab.fg=#6c7086
|
|
||||||
tab.bg=#181825
|
|
||||||
tab.selected.fg=#cdd6f4
|
|
||||||
tab.selected.bg=#1e1e2e
|
|
||||||
tab.selected.bold=true
|
|
||||||
|
|
||||||
border.fg=#11111b
|
|
||||||
border.bold=true
|
|
||||||
|
|
||||||
msglist_unread.bold=true
|
|
||||||
msglist_flagged.fg=#f9e2af
|
|
||||||
msglist_flagged.bold=true
|
|
||||||
msglist_result.fg=#89b4fa
|
|
||||||
msglist_result.bold=true
|
|
||||||
msglist_*.selected.bold=true
|
|
||||||
msglist_*.selected.bg=#313244
|
|
||||||
|
|
||||||
dirlist_*.selected.bold=true
|
|
||||||
dirlist_*.selected.bg=#313244
|
|
||||||
|
|
||||||
statusline_default.fg=#9399b2
|
|
||||||
statusline_default.bg=#313244
|
|
||||||
statusline_error.bold=true
|
|
||||||
statusline_success.bold=true
|
|
||||||
|
|
||||||
selector_focused.bg=#313244
|
|
||||||
|
|
||||||
completion_default.selected.bg=#313244
|
|
||||||
|
|
||||||
[viewer]
|
|
||||||
url.fg=#89b4fa
|
|
||||||
url.underline=true
|
|
||||||
header.bold=true
|
|
||||||
signature.dim=true
|
|
||||||
diff_meta.bold=true
|
|
||||||
diff_chunk.fg=#89b4fa
|
|
||||||
diff_chunk_func.fg=#89b4fa
|
|
||||||
diff_chunk_func.bold=true
|
|
||||||
diff_add.fg=#a6e3a1
|
|
||||||
diff_del.fg=#f38ba8
|
|
||||||
quote_*.fg=#6c7086
|
|
||||||
quote_1.fg=#9399b2
|
|
||||||
Binary file not shown.
16
hypr/.config/hypr/shaders/brightness.frag
Normal file
16
hypr/.config/hypr/shaders/brightness.frag
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#version 300 es
|
||||||
|
|
||||||
|
precision mediump float;
|
||||||
|
|
||||||
|
in vec2 v_texcoord;
|
||||||
|
out vec4 fragColor;
|
||||||
|
uniform sampler2D tex;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
vec4 pixColor = texture(tex, v_texcoord);
|
||||||
|
|
||||||
|
// Adjust brightness
|
||||||
|
pixColor.rgb *= 1.00;
|
||||||
|
|
||||||
|
fragColor = pixColor;
|
||||||
|
}
|
||||||
@@ -1,56 +1,47 @@
|
|||||||
## name: Rosé Pine Moon
|
background #282828
|
||||||
## author: mvllow
|
foreground #d4be98
|
||||||
## license: MIT
|
|
||||||
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine-moon.conf
|
|
||||||
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
|
|
||||||
|
|
||||||
foreground #e0def4
|
selection_background #d4be98
|
||||||
background #232136
|
selection_foreground #282828
|
||||||
selection_foreground #e0def4
|
|
||||||
selection_background #44415a
|
|
||||||
|
|
||||||
cursor #56526e
|
cursor #a89984
|
||||||
cursor_text_color #e0def4
|
cursor_text_color background
|
||||||
|
|
||||||
url_color #c4a7e7
|
active_tab_background #282828
|
||||||
|
active_tab_foreground #d4be98
|
||||||
|
active_tab_font_style bold
|
||||||
|
inactive_tab_background #282828
|
||||||
|
inactive_tab_foreground #a89984
|
||||||
|
inactive_tab_font_style normal
|
||||||
|
|
||||||
active_tab_foreground #e0def4
|
# Black
|
||||||
active_tab_background #393552
|
color0 #665c54
|
||||||
inactive_tab_foreground #6e6a86
|
color8 #928374
|
||||||
inactive_tab_background #232136
|
|
||||||
|
|
||||||
active_border_color #3e8fb0
|
# Red
|
||||||
inactive_border_color #44415a
|
color1 #ea6962
|
||||||
|
color9 #ea6962
|
||||||
|
|
||||||
# black
|
# Green
|
||||||
color0 #393552
|
color2 #a9b665
|
||||||
color8 #6e6a86
|
color10 #a9b665
|
||||||
|
|
||||||
# red
|
# Yellow
|
||||||
color1 #eb6f92
|
color3 #e78a4e
|
||||||
color9 #eb6f92
|
color11 #d8a657
|
||||||
|
|
||||||
# green
|
# Blue
|
||||||
color2 #3e8fb0
|
color4 #7daea3
|
||||||
color10 #3e8fb0
|
color12 #7daea3
|
||||||
|
|
||||||
# yellow
|
# Magenta
|
||||||
color3 #f6c177
|
color5 #d3869b
|
||||||
color11 #f6c177
|
color13 #d3869b
|
||||||
|
|
||||||
# blue
|
# Cyan
|
||||||
color4 #9ccfd8
|
color6 #89b482
|
||||||
color12 #9ccfd8
|
color14 #89b482
|
||||||
|
|
||||||
# magenta
|
|
||||||
color5 #c4a7e7
|
|
||||||
color13 #c4a7e7
|
|
||||||
|
|
||||||
# cyan
|
|
||||||
color6 #ea9a97
|
|
||||||
color14 #ea9a97
|
|
||||||
|
|
||||||
# white
|
|
||||||
color7 #e0def4
|
|
||||||
color15 #e0def4
|
|
||||||
|
|
||||||
|
# White
|
||||||
|
color7 #d4be98
|
||||||
|
color15 #d4be98
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# BEGIN_KITTY_THEME
|
# BEGIN_KITTY_THEME
|
||||||
# Rosé Pine Moon
|
# Gruvbox Material
|
||||||
include current-theme.conf
|
include current-theme.conf
|
||||||
# END_KITTY_THEME
|
# END_KITTY_THEME
|
||||||
#
|
#
|
||||||
|
shell zsh --login
|
||||||
|
|
||||||
font_family JetBrainsMono Nerd Font
|
font_family JetBrainsMono Nerd Font
|
||||||
bold_font JetBrainsMono Nerd Font Bold
|
bold_font JetBrainsMono Nerd Font Bold
|
||||||
@@ -11,12 +12,12 @@ bold_italic_font JetBrainsMono Nerd Font Bold Italic
|
|||||||
|
|
||||||
font_size 12
|
font_size 12
|
||||||
|
|
||||||
# background_opacity 0.95
|
background_opacity 0.90
|
||||||
|
|
||||||
term xterm-256color
|
term xterm-256color
|
||||||
|
|
||||||
# allow_hyperlinks yes
|
allow_hyperlinks yes
|
||||||
|
|
||||||
# copy_on_select yes
|
copy_on_select yes
|
||||||
# paste_actions confirm-if-large
|
paste_actions confirm-if-large
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# BEGIN_KITTY_THEME
|
# BEGIN_KITTY_THEME
|
||||||
# Dracula
|
# Catppuccin-Mocha
|
||||||
include current-theme.conf
|
include current-theme.conf
|
||||||
# END_KITTY_THEME
|
# END_KITTY_THEME
|
||||||
#
|
#
|
||||||
|
|||||||
80
kitty/.config/kitty/themes/catppuccin-mocha.conf
Normal file
80
kitty/.config/kitty/themes/catppuccin-mocha.conf
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# vim:ft=kitty
|
||||||
|
|
||||||
|
## name: Catppuccin-Mocha
|
||||||
|
## author: Pocco81 (https://github.com/Pocco81)
|
||||||
|
## license: MIT
|
||||||
|
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
||||||
|
## blurb: Soothing pastel theme for the high-spirited!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# The basic colors
|
||||||
|
foreground #CDD6F4
|
||||||
|
background #1E1E2E
|
||||||
|
selection_foreground #1E1E2E
|
||||||
|
selection_background #F5E0DC
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
cursor #F5E0DC
|
||||||
|
cursor_text_color #1E1E2E
|
||||||
|
|
||||||
|
# URL underline color when hovering with mouse
|
||||||
|
url_color #F5E0DC
|
||||||
|
|
||||||
|
# Kitty window border colors
|
||||||
|
active_border_color #B4BEFE
|
||||||
|
inactive_border_color #6C7086
|
||||||
|
bell_border_color #F9E2AF
|
||||||
|
|
||||||
|
# OS Window titlebar colors
|
||||||
|
wayland_titlebar_color system
|
||||||
|
macos_titlebar_color system
|
||||||
|
|
||||||
|
# Tab bar colors
|
||||||
|
active_tab_foreground #11111B
|
||||||
|
active_tab_background #CBA6F7
|
||||||
|
inactive_tab_foreground #CDD6F4
|
||||||
|
inactive_tab_background #181825
|
||||||
|
tab_bar_background #11111B
|
||||||
|
|
||||||
|
# Colors for marks (marked text in the terminal)
|
||||||
|
mark1_foreground #1E1E2E
|
||||||
|
mark1_background #B4BEFE
|
||||||
|
mark2_foreground #1E1E2E
|
||||||
|
mark2_background #CBA6F7
|
||||||
|
mark3_foreground #1E1E2E
|
||||||
|
mark3_background #74C7EC
|
||||||
|
|
||||||
|
# The 16 terminal colors
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #45475A
|
||||||
|
color8 #585B70
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #F38BA8
|
||||||
|
color9 #F38BA8
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #A6E3A1
|
||||||
|
color10 #A6E3A1
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #F9E2AF
|
||||||
|
color11 #F9E2AF
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #89B4FA
|
||||||
|
color12 #89B4FA
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #F5C2E7
|
||||||
|
color13 #F5C2E7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #94E2D5
|
||||||
|
color14 #94E2D5
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #BAC2DE
|
||||||
|
color15 #A6ADC8
|
||||||
@@ -26,12 +26,21 @@ xwayland-satellite {
|
|||||||
path "xwayland-satellite"
|
path "xwayland-satellite"
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
ELECTRON_OZONE_PLATFORM_HINT "x11"
|
ELECTRON_OZONE_PLATFORM_HINT "auto"
|
||||||
ELECTRON_ENABLE_LOGGING "1"
|
ELECTRON_ENABLE_LOGGING "1"
|
||||||
|
// GDK_SCALE "1.75"
|
||||||
|
// GDK_DPI_SCALE "1"
|
||||||
}
|
}
|
||||||
output "eDP-1" {
|
output "eDP-1" {
|
||||||
mode "1920x1080@120.030"
|
mode "2880x1800@59.990"
|
||||||
position x=1280 y=0
|
scale 1.75
|
||||||
|
position x=0 y=0
|
||||||
|
focus-at-startup
|
||||||
|
}
|
||||||
|
output "HDMI-A-1" {
|
||||||
|
mode "2560x1440@59.951"
|
||||||
|
position x=1645 y=0
|
||||||
|
scale 1.0
|
||||||
}
|
}
|
||||||
layout {
|
layout {
|
||||||
gaps 2
|
gaps 2
|
||||||
@@ -46,7 +55,7 @@ layout {
|
|||||||
}
|
}
|
||||||
focus-ring {
|
focus-ring {
|
||||||
width 2
|
width 2
|
||||||
active-color "#b4befe"
|
active-color "#c4a7e7"
|
||||||
inactive-color "#a6adc8"
|
inactive-color "#a6adc8"
|
||||||
}
|
}
|
||||||
border {
|
border {
|
||||||
@@ -68,6 +77,7 @@ layout {
|
|||||||
}
|
}
|
||||||
spawn-at-startup "waybar" "-c" "/home/liph/.config/niri/waybar-niri/config.jsonc" "-s" "/home/liph/.config/niri/waybar-niri/style.css"
|
spawn-at-startup "waybar" "-c" "/home/liph/.config/niri/waybar-niri/config.jsonc" "-s" "/home/liph/.config/niri/waybar-niri/style.css"
|
||||||
spawn-at-startup "swaync"
|
spawn-at-startup "swaync"
|
||||||
|
// spawn-at-startup "kanshi"
|
||||||
spawn-at-startup "swww-daemon"
|
spawn-at-startup "swww-daemon"
|
||||||
spawn-at-startup "kitty"
|
spawn-at-startup "kitty"
|
||||||
spawn-at-startup "librewolf"
|
spawn-at-startup "librewolf"
|
||||||
@@ -119,13 +129,48 @@ window-rule {
|
|||||||
}
|
}
|
||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
}
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="floating_btop"
|
||||||
|
default-column-width {
|
||||||
|
proportion 0.5
|
||||||
|
}
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="floating_htop"
|
||||||
|
default-column-width {
|
||||||
|
proportion 0.5
|
||||||
|
}
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="floating_bluetui"
|
||||||
|
default-column-width {
|
||||||
|
proportion 0.5
|
||||||
|
}
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="floating_pulsemixer"
|
||||||
|
default-column-width {
|
||||||
|
proportion 0.5
|
||||||
|
}
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id="floating_wavemon"
|
||||||
|
default-column-width {
|
||||||
|
proportion 0.5
|
||||||
|
}
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
window-rule {
|
window-rule {
|
||||||
geometry-corner-radius 5
|
geometry-corner-radius 5
|
||||||
clip-to-geometry true
|
clip-to-geometry true
|
||||||
}
|
}
|
||||||
binds {
|
binds {
|
||||||
// Mod+Shift+Slash { show-hotkey-overlay; }
|
// Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
Mod+Shift+L {
|
Mod+Mod5+J {
|
||||||
spawn "hyprlock"
|
spawn "hyprlock"
|
||||||
}
|
}
|
||||||
Mod+Alt+P hotkey-overlay-title="Open Bitwarden" {
|
Mod+Alt+P hotkey-overlay-title="Open Bitwarden" {
|
||||||
@@ -134,10 +179,7 @@ binds {
|
|||||||
Mod+Alt+T hotkey-overlay-title="Open Tipp10" {
|
Mod+Alt+T hotkey-overlay-title="Open Tipp10" {
|
||||||
spawn "tipp10"
|
spawn "tipp10"
|
||||||
}
|
}
|
||||||
Mod+Alt+V hotkey-overlay-title="Open Vial" {
|
Mod+Alt+S hotkey-overlay-title="Open Tidal" {
|
||||||
spawn "Vial"
|
|
||||||
}
|
|
||||||
Mod+Alt+M hotkey-overlay-title="Open Tidal" {
|
|
||||||
spawn "tidal-hifi" "--ozone-platform=wayland" "--enable-features=WaylandWindowDecorations"
|
spawn "tidal-hifi" "--ozone-platform=wayland" "--enable-features=WaylandWindowDecorations"
|
||||||
}
|
}
|
||||||
Mod+Alt+O hotkey-overlay-title="Open Obsidian" {
|
Mod+Alt+O hotkey-overlay-title="Open Obsidian" {
|
||||||
@@ -155,6 +197,18 @@ binds {
|
|||||||
Mod+Alt+Space hotkey-overlay-title="Open Wofi" {
|
Mod+Alt+Space hotkey-overlay-title="Open Wofi" {
|
||||||
spawn "wofi" "--show" "drun"
|
spawn "wofi" "--show" "drun"
|
||||||
}
|
}
|
||||||
|
Mod+Mod5+Q hotkey-overlay-title="Open Htop" {
|
||||||
|
spawn "kitty" "--class" "floating_htop" "-e" "htop"
|
||||||
|
}
|
||||||
|
Mod+Mod5+W hotkey-overlay-title="Open Btop" {
|
||||||
|
spawn "kitty" "--class" "floating_btop" "-e" "btop"
|
||||||
|
}
|
||||||
|
Mod+Mod5+E hotkey-overlay-title="Open Pulsemixer" {
|
||||||
|
spawn "kitty" "--class" "floating_pulsemixer" "-e" "pulsemixer"
|
||||||
|
}
|
||||||
|
Mod+Mod5+R hotkey-overlay-title="Open Bluetui" {
|
||||||
|
spawn "kitty" "--class" "floating_bluetui" "-e" "bluetui"
|
||||||
|
}
|
||||||
// Brightness Controll
|
// Brightness Controll
|
||||||
Mod+Ctrl+0 {
|
Mod+Ctrl+0 {
|
||||||
spawn "sh" "-c" "~/scripts/layer_notify.sh 0"
|
spawn "sh" "-c" "~/scripts/layer_notify.sh 0"
|
||||||
@@ -275,18 +329,30 @@ binds {
|
|||||||
// Mod+Shift+Down { focus-monitor-down; }
|
// Mod+Shift+Down { focus-monitor-down; }
|
||||||
// Mod+Shift+Up { focus-monitor-up; }
|
// Mod+Shift+Up { focus-monitor-up; }
|
||||||
// Mod+Shift+Right { focus-monitor-right; }
|
// Mod+Shift+Right { focus-monitor-right; }
|
||||||
// Mod+Shift+H { focus-monitor-left; }
|
Mod+Shift+H {
|
||||||
|
focus-monitor-left
|
||||||
|
}
|
||||||
// Mod+Shift+J { focus-monitor-down; }
|
// Mod+Shift+J { focus-monitor-down; }
|
||||||
// Mod+Shift+K { focus-monitor-up; }
|
// Mod+Shift+K { focus-monitor-up; }
|
||||||
// Mod+Shift+L { focus-monitor-right; }
|
Mod+Shift+L {
|
||||||
// Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
focus-monitor-right
|
||||||
|
}
|
||||||
|
Mod+Shift+Ctrl+Left {
|
||||||
|
move-column-to-monitor-left
|
||||||
|
}
|
||||||
// Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
// Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||||
// Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
// Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||||
// Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
Mod+Shift+Ctrl+Right {
|
||||||
// Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
move-column-to-monitor-right
|
||||||
|
}
|
||||||
|
Mod+Shift+Ctrl+H {
|
||||||
|
move-column-to-monitor-left
|
||||||
|
}
|
||||||
// Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
// Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||||
// Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
// Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||||
// Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
Mod+Shift+Ctrl+L {
|
||||||
|
move-column-to-monitor-right
|
||||||
|
}
|
||||||
Mod+U {
|
Mod+U {
|
||||||
focus-workspace-down
|
focus-workspace-down
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,25 +17,22 @@
|
|||||||
color: @text;
|
color: @text;
|
||||||
}
|
}
|
||||||
.red {
|
.red {
|
||||||
color: @red;
|
color: @love;
|
||||||
}
|
}
|
||||||
.yellow {
|
.yellow {
|
||||||
color: @yellow;
|
color: @gold;
|
||||||
}
|
}
|
||||||
.green {
|
.green {
|
||||||
color: @green;
|
|
||||||
}
|
|
||||||
.rose {
|
|
||||||
color: @rose;
|
color: @rose;
|
||||||
}
|
}
|
||||||
|
.rose {
|
||||||
|
color: @pine;
|
||||||
|
}
|
||||||
.blue {
|
.blue {
|
||||||
color: @blue;
|
color: @foam;
|
||||||
}
|
}
|
||||||
.sky {
|
.sky {
|
||||||
color: @sky;
|
color: @iris;
|
||||||
}
|
|
||||||
.mauve {
|
|
||||||
color: @lavender;
|
|
||||||
}
|
}
|
||||||
.highlightLow {
|
.highlightLow {
|
||||||
color: @highlightLow;
|
color: @highlightLow;
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// -*- mode: jsonc -*-
|
|
||||||
{
|
{
|
||||||
"layer": "top",
|
"layer": "top",
|
||||||
"position": "top",
|
"position": "top",
|
||||||
@@ -57,11 +56,13 @@
|
|||||||
"format": "<span font='14' > </span>{usage}%",
|
"format": "<span font='14' > </span>{usage}%",
|
||||||
"tooltip": false,
|
"tooltip": false,
|
||||||
"interval": 1,
|
"interval": 1,
|
||||||
|
"on-click": "kitty --class floating_btop -e btop",
|
||||||
},
|
},
|
||||||
"memory": {
|
"memory": {
|
||||||
"format": "<span font='14'> </span>{}%",
|
"format": "<span font='14'> </span>{}%",
|
||||||
// "format": "<span font='14' class='red'> </span> {}%",
|
// "format": "<span font='14' class='red'> </span> {}%",
|
||||||
"interval": 1,
|
"interval": 1,
|
||||||
|
"on-click": "kitty --class floating_btop -e htop",
|
||||||
},
|
},
|
||||||
"battery": {
|
"battery": {
|
||||||
"interval": 1,
|
"interval": 1,
|
||||||
@@ -92,6 +93,7 @@
|
|||||||
"format-disconnected": "<span font='14' ></span>",
|
"format-disconnected": "<span font='14' ></span>",
|
||||||
"format-alt": "{bandwidthDownBytes}",
|
"format-alt": "{bandwidthDownBytes}",
|
||||||
"interval": 1,
|
"interval": 1,
|
||||||
|
// "on-click": "kitty --class floating_wavemon -e sudo wavemon",
|
||||||
},
|
},
|
||||||
"pulseaudio": {
|
"pulseaudio": {
|
||||||
"format": "<span font='14' >{icon}</span> {volume}%",
|
"format": "<span font='14' >{icon}</span> {volume}%",
|
||||||
@@ -107,7 +109,7 @@
|
|||||||
// "car": "",
|
// "car": "",
|
||||||
"default": ["", "", ""],
|
"default": ["", "", ""],
|
||||||
},
|
},
|
||||||
"on-click": "pavucontrol",
|
"on-click": "kitty --class floating_pulsemixer -e pulsemixer",
|
||||||
},
|
},
|
||||||
"custom/power": {
|
"custom/power": {
|
||||||
"format": "⏻",
|
"format": "⏻",
|
||||||
@@ -119,9 +121,19 @@
|
|||||||
"on-click": "wofi --show drun",
|
"on-click": "wofi --show drun",
|
||||||
},
|
},
|
||||||
"bluetooth": {
|
"bluetooth": {
|
||||||
"format": "<span font='14'></span>",
|
"format": "<span font='14'> </span>",
|
||||||
"format-disabled": "<span font='14'></span>",
|
"format-disabled": "<span font='14'> </span>",
|
||||||
"format-connected": "<span font='14'></span>",
|
"format-connected": "<span font='14'> </span>",
|
||||||
"on-click": "blueman-manager",
|
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||||
|
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||||
|
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%",
|
||||||
|
"on-click": "kitty --class floating_bluetui -e bluetui",
|
||||||
},
|
},
|
||||||
|
// "bluetooth": {
|
||||||
|
// "format": "<span font='14'></span>",
|
||||||
|
// "format-disabled": "<span font='14'></span>",
|
||||||
|
// "format-connected": "<span font='14'></span>",
|
||||||
|
// "on-click": "kitty --class floating_bluetui -e bluetui",
|
||||||
|
// },
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,160 +0,0 @@
|
|||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"mod": "dock",
|
|
||||||
"exclusive": true,
|
|
||||||
"passthrough": false,
|
|
||||||
"gtk-layer-shell": true,
|
|
||||||
"height": 0,
|
|
||||||
"modules-left": ["clock", "custom/power_btn", "custom/lock_screen", "niri/workspaces"],
|
|
||||||
"modules-center": ["niri/window"],
|
|
||||||
"modules-right": [
|
|
||||||
"network",
|
|
||||||
"bluetooth",
|
|
||||||
"pulseaudio",
|
|
||||||
"pulseaudio#microphone",
|
|
||||||
"tray"
|
|
||||||
],
|
|
||||||
"niri/workspaces": {
|
|
||||||
"all-outputs": true,
|
|
||||||
"on-click": "activate",
|
|
||||||
"persistent-workspaces": {
|
|
||||||
"1": [],
|
|
||||||
"2": [],
|
|
||||||
"3": [],
|
|
||||||
"4": [],
|
|
||||||
"5": []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"custom/launch_wofi": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "pkill wofi; wofi -n",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/lock_screen": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "sh -c '(sleep 0.5s; swaylock)' & disown",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/light_dark": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "~/.config/waybar/scripts/baraction light",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"custom/power_btn": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "sh -c '(sleep 0.5s; wlogout --protocol layer-shell)' & disown",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"interval": 10,
|
|
||||||
"format": " {usage}%",
|
|
||||||
"max-length": 10,
|
|
||||||
"on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
|
|
||||||
},
|
|
||||||
"disk": {
|
|
||||||
"interval": 30,
|
|
||||||
"format": " {percentage_used}%",
|
|
||||||
"path": "/",
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "HDD - {used} used out of {total} on {path} ({percentage_used}%)",
|
|
||||||
"on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"interval": 30,
|
|
||||||
"format": " {}%",
|
|
||||||
"max-length": 10,
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "Memory - {used:0.1f}GB used",
|
|
||||||
"on-click": "kitty --start-as=fullscreen --title btop sh -c 'btop'"
|
|
||||||
},
|
|
||||||
"custom/updates": {
|
|
||||||
"format": " {}",
|
|
||||||
"tooltip-format": "{}",
|
|
||||||
"escape": true,
|
|
||||||
"return-type": "json",
|
|
||||||
"exec": "~/.config/waybar/scripts/update-sys",
|
|
||||||
"restart-interval": 60,
|
|
||||||
"on-click": "kitty -e ~/.config/waybar/scripts/update-sys update",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
"icon-size": 13,
|
|
||||||
"tooltip": false,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
"format": "{: %R %d/%m}",
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
|
||||||
},
|
|
||||||
"backlight": {
|
|
||||||
"device": "intel_backlight",
|
|
||||||
"format": "{icon} {percent}%",
|
|
||||||
"format-icons": ["", "", ""],
|
|
||||||
"on-scroll-up": "brightnessctl set 1%+",
|
|
||||||
"on-scroll-down": "brightnessctl set 1%-",
|
|
||||||
"min-length": 6
|
|
||||||
},
|
|
||||||
"battery": {
|
|
||||||
"states": {
|
|
||||||
"good": 95,
|
|
||||||
"warning": 30,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"format-plugged": " {capacity}%",
|
|
||||||
"format-alt": "{time} {icon}",
|
|
||||||
"format-icons": ["", "", "", "", "", "", "", "", "", "", ""]
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
"format": "{icon} {volume}%",
|
|
||||||
"tooltip": false,
|
|
||||||
"format-muted": " Muted",
|
|
||||||
"on-click": "pamixer -t",
|
|
||||||
"on-scroll-up": "pamixer -i 5",
|
|
||||||
"on-scroll-down": "pamixer -d 5",
|
|
||||||
"scroll-step": 5,
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"hands-free": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": "",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pulseaudio#microphone": {
|
|
||||||
"format": "{format_source}",
|
|
||||||
"tooltip": false,
|
|
||||||
"format-source": " {volume}%",
|
|
||||||
"format-source-muted": " Muted",
|
|
||||||
"on-click": "pamixer --default-source -t",
|
|
||||||
"on-scroll-up": "pamixer --default-source -i 5",
|
|
||||||
"on-scroll-down": "pamixer --default-source -d 5",
|
|
||||||
"scroll-step": 5
|
|
||||||
},
|
|
||||||
"temperature": {
|
|
||||||
"thermal-zone": 1,
|
|
||||||
"format": "{temperatureF}°F ",
|
|
||||||
"critical-threshold": 80,
|
|
||||||
"format-critical": "{temperatureC}°C "
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"format-wifi": " {signalStrength}%",
|
|
||||||
"format-ethernet": " 100% ",
|
|
||||||
"tooltip-format": "Connected to {essid} {ifname} via {gwaddr}",
|
|
||||||
"format-linked": "{ifname} (No IP)",
|
|
||||||
"format-disconnected": " 0% ",
|
|
||||||
"on-click": "~/.config/rofi/wifi/wifi.sh"
|
|
||||||
},
|
|
||||||
"bluetooth": {
|
|
||||||
"format": " {status}",
|
|
||||||
"format-disabled": "",
|
|
||||||
"format-off": "",
|
|
||||||
"interval": 30,
|
|
||||||
"on-click": "blueman-manager",
|
|
||||||
"format-no-controller": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,23 +1,26 @@
|
|||||||
|
@import "theme.css";
|
||||||
|
@import "colors.css";
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: "JetBrainsMono";
|
font-family: "JetBrainsMono";
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
window#waybar {
|
window#waybar {
|
||||||
background-color: rgba(43, 48, 59, 0.5);
|
background-color: @base;
|
||||||
background: radial-gradient(alpha(@theme_base_color, 0.4), @theme_base_color);
|
/* background: radial-gradient(alpha(@theme_base_color, 0.4), @theme_base_color); */
|
||||||
color: @theme_fg_color;
|
color: @theme_fg_color;
|
||||||
transition-property: background-color;
|
transition-property: background-color;
|
||||||
transition-duration: 0.5s;
|
transition-duration: 0.5s;
|
||||||
}
|
}
|
||||||
window#waybar.hidden {
|
window#waybar.hidden {
|
||||||
opacity: 0.2;
|
/* opacity: 0.2; */
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
button:hover {
|
button:hover {
|
||||||
background: inherit;
|
/* background: inherit; */
|
||||||
}
|
}
|
||||||
#workspaces {
|
#workspaces {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
@@ -29,15 +32,15 @@ button:hover {
|
|||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
#workspaces button:hover {
|
#workspaces button:hover {
|
||||||
color: #e5c890;
|
color: @gold;
|
||||||
}
|
}
|
||||||
#workspaces button.active,
|
#workspaces button.active,
|
||||||
#workspaces button.default,
|
#workspaces button.default,
|
||||||
#workspaces button.focused {
|
#workspaces button.focused {
|
||||||
background: #babbf1;
|
background: @rose;
|
||||||
}
|
}
|
||||||
#workspaces button.urgent {
|
#workspaces button.urgent {
|
||||||
background-color: #eb4d4b;
|
background-color: @love;
|
||||||
}
|
}
|
||||||
#clock,
|
#clock,
|
||||||
#battery,
|
#battery,
|
||||||
@@ -71,13 +74,25 @@ button:hover {
|
|||||||
.modules-right > widget:last-child > #workspaces {
|
.modules-right > widget:last-child > #workspaces {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
#clock,
|
#clock {
|
||||||
#battery,
|
color: @text;
|
||||||
#cpu,
|
}
|
||||||
#memory,
|
#battery {
|
||||||
|
color: @iris;
|
||||||
|
}
|
||||||
|
#cpu {
|
||||||
|
color: @iris;
|
||||||
|
}
|
||||||
|
#memory {
|
||||||
|
color: @foam;
|
||||||
|
}
|
||||||
#backlight,
|
#backlight,
|
||||||
#network,
|
#network {
|
||||||
#pulseaudio,
|
color: @gold;
|
||||||
|
}
|
||||||
|
#pulseaudio {
|
||||||
|
color: @rose;
|
||||||
|
}
|
||||||
#custom-media,
|
#custom-media,
|
||||||
#tray,
|
#tray,
|
||||||
#custom-power,
|
#custom-power,
|
||||||
@@ -90,7 +105,7 @@ button:hover {
|
|||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
}
|
}
|
||||||
#custom-power {
|
#custom-power {
|
||||||
background-color: #e78284;
|
background-color: @love;
|
||||||
border-radius: 20px 0 0 20px;
|
border-radius: 20px 0 0 20px;
|
||||||
transition: all 250ms ease-in-out;
|
transition: all 250ms ease-in-out;
|
||||||
}
|
}
|
||||||
@@ -102,17 +117,15 @@ button:hover {
|
|||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
}
|
}
|
||||||
#pulseaudio.muted {
|
#pulseaudio.muted {
|
||||||
color: orange;
|
|
||||||
}
|
}
|
||||||
#network.disconnected {
|
#network.disconnected {
|
||||||
color: red;
|
|
||||||
}
|
}
|
||||||
#tray {
|
#tray {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
}
|
}
|
||||||
#custom-logo {
|
#custom-logo {
|
||||||
background-color: #8caaee;
|
background-color: @pine;
|
||||||
padding: 0 17px;
|
padding: 0 17px;
|
||||||
border-radius: 0 20px 20px 0;
|
border-radius: 0 20px 20px 0;
|
||||||
}
|
}
|
||||||
@@ -122,4 +135,5 @@ button:hover {
|
|||||||
#bluetooth {
|
#bluetooth {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
margin: 0 5px;
|
margin: 0 5px;
|
||||||
|
color: @pine;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
/home/liph/.config/niri/waybar-niri/themes/catppuccin-mocha.css
|
|
||||||
15
niri/.config/niri/waybar-niri/theme.css
Normal file
15
niri/.config/niri/waybar-niri/theme.css
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
@define-color base #191724;
|
||||||
|
@define-color surface #1f1d2e;
|
||||||
|
@define-color overlay #26233a;
|
||||||
|
@define-color muted #6e6a86;
|
||||||
|
@define-color subtle #908caa;
|
||||||
|
@define-color text #e0def4;
|
||||||
|
@define-color love #eb6f92;
|
||||||
|
@define-color gold #f6c177;
|
||||||
|
@define-color rose #ea9a97;
|
||||||
|
@define-color pine #3e8fb0;
|
||||||
|
@define-color foam #9ccfd8;
|
||||||
|
@define-color iris #c4a7e7;
|
||||||
|
@define-color highlightLow #21202e;
|
||||||
|
@define-color highlightMed #403d52;
|
||||||
|
@define-color highlightHigh #524f67;
|
||||||
23
niri/.config/niri/waybar-niri/themes/rose-pine.css
Normal file
23
niri/.config/niri/waybar-niri/themes/rose-pine.css
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Variant: Rosé Pine
|
||||||
|
* Maintainer: DankChoir
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color base #191724;
|
||||||
|
@define-color surface #1f1d2e;
|
||||||
|
@define-color overlay #26233a;
|
||||||
|
|
||||||
|
@define-color muted #6e6a86;
|
||||||
|
@define-color subtle #908caa;
|
||||||
|
@define-color text #e0def4;
|
||||||
|
|
||||||
|
@define-color love #eb6f92;
|
||||||
|
@define-color gold #f6c177;
|
||||||
|
@define-color rose #ebbcba;
|
||||||
|
@define-color pine #31748f;
|
||||||
|
@define-color foam #9ccfd8;
|
||||||
|
@define-color iris #c4a7e7;
|
||||||
|
|
||||||
|
@define-color highlightLow #21202e;
|
||||||
|
@define-color highlightMed #403d52;
|
||||||
|
@define-color highlightHigh #524f67;
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
.base {
|
|
||||||
color: @base;
|
|
||||||
}
|
|
||||||
.surface {
|
|
||||||
color: @surface;
|
|
||||||
}
|
|
||||||
.overlay {
|
|
||||||
color: @overlay;
|
|
||||||
}
|
|
||||||
.muted {
|
|
||||||
color: @muted;
|
|
||||||
}
|
|
||||||
.subtle {
|
|
||||||
color: @subtle;
|
|
||||||
}
|
|
||||||
.text {
|
|
||||||
color: @text;
|
|
||||||
}
|
|
||||||
.red {
|
|
||||||
color: @red;
|
|
||||||
}
|
|
||||||
.yellow {
|
|
||||||
color: @yellow;
|
|
||||||
}
|
|
||||||
.green {
|
|
||||||
color: @green;
|
|
||||||
}
|
|
||||||
.rose {
|
|
||||||
color: @rose;
|
|
||||||
}
|
|
||||||
.blue {
|
|
||||||
color: @blue;
|
|
||||||
}
|
|
||||||
.sky {
|
|
||||||
color: @sky;
|
|
||||||
}
|
|
||||||
.mauve {
|
|
||||||
color: @lavender;
|
|
||||||
}
|
|
||||||
.highlightLow {
|
|
||||||
color: @highlightLow;
|
|
||||||
}
|
|
||||||
.highlightMed {
|
|
||||||
color: @highlightMed;
|
|
||||||
}
|
|
||||||
.highlightHigh {
|
|
||||||
color: @highlightHigh;
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
/*
|
|
||||||
@define-color base #232136;
|
|
||||||
@define-color surface #2a273f;
|
|
||||||
@define-color overlay #393552;
|
|
||||||
@define-color muted #6e6a86;
|
|
||||||
@define-color subtle #908caa;
|
|
||||||
@define-color text #e0def4;
|
|
||||||
@define-color red #eb6f92;
|
|
||||||
@define-color yellow #f6c177;
|
|
||||||
@define-color rose #ea9a97;
|
|
||||||
@define-color blue #3e8fb0;
|
|
||||||
@define-color sky #9ccfd8;
|
|
||||||
@define-color mauve #c4a7e7;
|
|
||||||
@define-color highlightLow #2a283e;
|
|
||||||
@define-color highlightMed #44415a;
|
|
||||||
@define-color highlightHigh #56526e;
|
|
||||||
128
nvim/.config/nvim/after/ftplugin/mail.lua
Normal file
128
nvim/.config/nvim/after/ftplugin/mail.lua
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
-- Helper function to extract clean email address
|
||||||
|
local function extract_email(address_string)
|
||||||
|
-- Match email in angle brackets: "Name <email@example.com>"
|
||||||
|
local email = address_string:match("<([^>]+)>")
|
||||||
|
if email then
|
||||||
|
return email
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Match standalone email: "email@example.com"
|
||||||
|
email = address_string:match("([%w%._%+-]+@[%w%._%+-]+)")
|
||||||
|
if email then
|
||||||
|
return email
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Fallback: return as-is if no pattern matches
|
||||||
|
return address_string
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Option 2: Omnifunc completion
|
||||||
|
function _G.mail_complete(findstart, base)
|
||||||
|
if findstart == 1 then
|
||||||
|
-- Find start of word
|
||||||
|
local line = vim.api.nvim_get_current_line()
|
||||||
|
local col = vim.fn.col('.')
|
||||||
|
local line_to_cursor = line:sub(1, col - 1)
|
||||||
|
|
||||||
|
-- Only on header lines
|
||||||
|
if not line_to_cursor:match("^%s*[ToCcBcFrom]+:%s*") then
|
||||||
|
return -1
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Find start of current address
|
||||||
|
local start = line_to_cursor:reverse():find("[%s,]")
|
||||||
|
if start then
|
||||||
|
return col - start
|
||||||
|
else
|
||||||
|
return line_to_cursor:find(":") or 0
|
||||||
|
end
|
||||||
|
else
|
||||||
|
-- Get completions
|
||||||
|
local handle = io.popen(string.format('abook --mutt-query "%s" 2>/dev/null | tail -n +2', base))
|
||||||
|
if not handle then
|
||||||
|
return {}
|
||||||
|
end
|
||||||
|
|
||||||
|
local result = handle:read("*a")
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
local matches = {}
|
||||||
|
for address in result:gmatch("[^\r\n]+") do
|
||||||
|
if address ~= "" then
|
||||||
|
-- Extract clean email only
|
||||||
|
local clean_email = extract_email(address)
|
||||||
|
table.insert(matches, clean_email)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return matches
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Set omnifunc
|
||||||
|
vim.bo.omnifunc = 'v:lua.mail_complete'
|
||||||
|
|
||||||
|
-- Map Tab to trigger completion on header lines
|
||||||
|
vim.keymap.set('i', '<Tab>', function()
|
||||||
|
local line = vim.api.nvim_get_current_line()
|
||||||
|
if line:match("^%s*[ToCcBcFrom]+:%s*") then
|
||||||
|
return '<C-x><C-o>'
|
||||||
|
else
|
||||||
|
return '<Tab>'
|
||||||
|
end
|
||||||
|
end, { expr = true, buffer = true })
|
||||||
|
|
||||||
|
-- Option 3: Interactive fzf picker
|
||||||
|
local function pick_email()
|
||||||
|
-- Get all addresses
|
||||||
|
local handle = io.popen('abook --mutt-query "" 2>/dev/null | tail -n +2')
|
||||||
|
if not handle then
|
||||||
|
vim.notify("Could not query abook", vim.log.levels.ERROR)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local addresses = {}
|
||||||
|
local display_addresses = {}
|
||||||
|
|
||||||
|
for line in handle:lines() do
|
||||||
|
if line ~= "" then
|
||||||
|
local clean_email = extract_email(line)
|
||||||
|
table.insert(addresses, clean_email)
|
||||||
|
-- Show full format in picker, but insert clean email
|
||||||
|
table.insert(display_addresses, line .. " → " .. clean_email)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
handle:close()
|
||||||
|
|
||||||
|
if #addresses == 0 then
|
||||||
|
vim.notify("No addresses in abook", vim.log.levels.WARN)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Use vim.ui.select (works with fzf-lua if installed)
|
||||||
|
vim.ui.select(display_addresses, {
|
||||||
|
prompt = "Select recipient:",
|
||||||
|
format_item = function(item)
|
||||||
|
return item
|
||||||
|
end,
|
||||||
|
}, function(choice, idx)
|
||||||
|
if choice and idx then
|
||||||
|
local email = addresses[idx]
|
||||||
|
-- Insert at cursor
|
||||||
|
local row, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||||
|
local line = vim.api.nvim_get_current_line()
|
||||||
|
local new_line = line:sub(1, col) .. email .. line:sub(col + 1)
|
||||||
|
vim.api.nvim_set_current_line(new_line)
|
||||||
|
-- Move cursor after inserted text
|
||||||
|
vim.api.nvim_win_set_cursor(0, {row, col + #email})
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Map Ctrl+f to pick email (Option 3)
|
||||||
|
vim.keymap.set('i', '<C-f>', pick_email, { buffer = true, desc = "Pick email address with fzf" })
|
||||||
|
|
||||||
|
-- Optional: Map Ctrl+a for Tab completion manually (in case Tab doesn't work)
|
||||||
|
vim.keymap.set('i', '<C-a>', '<C-x><C-o>', { buffer = true, desc = "Trigger address completion" })
|
||||||
|
```
|
||||||
|
im.keymap.set("i", "<C-a>", "<C-x><C-o>", { buffer = true, desc = "Trigger address completion" })
|
||||||
@@ -14,9 +14,17 @@ if not vim.loop.fs_stat(lazypath) then
|
|||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- Enable spell check for mail files
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = "mail",
|
||||||
|
callback = function()
|
||||||
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.spelllang = "en_us,de" -- Add languages you need
|
||||||
|
end,
|
||||||
|
})
|
||||||
-- Only enable spell checking for specific filetypes
|
-- Only enable spell checking for specific filetypes
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
pattern = { "markdown", "text", "gitcommit", "tex", "plaintext" },
|
pattern = { "mail", "markdown", "text", "gitcommit", "tex", "plaintext" },
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.opt_local.spell = true
|
vim.opt_local.spell = true
|
||||||
vim.opt_local.spelllang = "en_us,de"
|
vim.opt_local.spelllang = "en_us,de"
|
||||||
@@ -57,3 +65,10 @@ if vim.fn.filereadable(theme_file) == 1 then
|
|||||||
else
|
else
|
||||||
vim.cmd.colorscheme("catppuccin") -- fallback
|
vim.cmd.colorscheme("catppuccin") -- fallback
|
||||||
end
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "NormalNC", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "SignColumn", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none" })
|
||||||
|
vim.api.nvim_set_hl(0, "LineNr", { bg = "none" })
|
||||||
|
|||||||
@@ -1,44 +1,46 @@
|
|||||||
{
|
{
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||||
"LuaSnip": { "branch": "master", "commit": "fb525166ccc30296fb3457441eb979113de46b00" },
|
"LuaSnip": { "branch": "master", "commit": "5a1e39223db9a0498024a77b8441169d260c8c25" },
|
||||||
"R.nvim": { "branch": "main", "commit": "b7de6e6f43d79e31b077096ca0089fde85190f46" },
|
"R.nvim": { "branch": "main", "commit": "3db1971a81f8ad3d09aca698601abbe4cc909e37" },
|
||||||
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
"barbecue": { "branch": "main", "commit": "cd7e7da622d68136e13721865b4d919efd6325ed" },
|
||||||
|
"blink.cmp": { "branch": "main", "commit": "b19413d214068f316c78978b08264ed1c41830ec" },
|
||||||
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
|
"catppuccin": { "branch": "main", "commit": "beaf41a30c26fd7d6c386d383155cbd65dd554cd" },
|
||||||
|
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||||
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
|
||||||
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
|
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||||
"cmp-r": { "branch": "main", "commit": "70bfe8f4c062acc10266e24825439c009a0b1b89" },
|
"cmp-r": { "branch": "main", "commit": "70bfe8f4c062acc10266e24825439c009a0b1b89" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "8314f4c9e205e7f30b62147069729f9a1227d8bf" },
|
"conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" },
|
||||||
"dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" },
|
"dashboard-nvim": { "branch": "master", "commit": "0775e567b6c0be96d01a61795f7b64c1758262f6" },
|
||||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||||
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
"dracula.nvim": { "branch": "main", "commit": "ae752c13e95fb7c5f58da4b5123cb804ea7568ee" },
|
||||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||||
"everforest": { "branch": "master", "commit": "b90025cc84dbb9c46df5a2ae540d3f01cf85af74" },
|
"everforest": { "branch": "master", "commit": "b03a03148c8b34c24c96960b93da9c8883d11f54" },
|
||||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||||
"fzf-lua": { "branch": "main", "commit": "b8d1356b7120f5cf111709cb2fa504096248fb26" },
|
"fzf-lua": { "branch": "main", "commit": "e5804f4924cf74ad03834c25988998a273ae0d7b" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "42d6aed4e94e0f0bbced16bbdcc42f57673bd75e" },
|
"gitsigns.nvim": { "branch": "main", "commit": "abf82a65f185bd54adc0679f74b7d6e1ada690c9" },
|
||||||
"grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" },
|
"grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" },
|
||||||
"gruvbox-mat": { "branch": "master", "commit": "e4359a2f80ef7275b080be180841c62ca8322757" },
|
"gruvbox-mat": { "branch": "master", "commit": "790afe9dd085aa04eccd1da3626c5fa05c620e53" },
|
||||||
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
||||||
"kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
|
"kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" },
|
||||||
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
|
||||||
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
|
||||||
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
|
"luvit-meta": { "branch": "main", "commit": "0ea4ff636c5bb559ffa78108561d0976f4de9682" },
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "fe661093f4b05136437b531e7f959af2a2ae66c8" },
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "c953789db7fd28eafe5eb5659846d34b5024b3cc" },
|
||||||
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
|
||||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
"neo-tree.nvim": { "branch": "v3.x", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" },
|
||||||
"neogit": { "branch": "master", "commit": "d8bf9102692250193b855acd9025a826f1af2729" },
|
"neogit": { "branch": "master", "commit": "73870229977fdd8747025820e15e98cfde787b9c" },
|
||||||
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
"nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" },
|
||||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "c2a0dd0d931d0fb07665e1fedb1ea688da3b80b4" },
|
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "85bbfad83f804f11688d1ab9486b459e699292d6" },
|
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
|
||||||
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||||
"nvim-lint": { "branch": "master", "commit": "ca6ea12daf0a4d92dc24c5c9ae22a1f0418ade37" },
|
"nvim-lint": { "branch": "master", "commit": "bcd1a44edbea8cd473af7e7582d3f7ffc60d8e81" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "92ee7d42320edfbb81f3cad851314ab197fa324a" },
|
"nvim-lspconfig": { "branch": "master", "commit": "3f58aeca0c6ece8a9fb8782ea3fcb6024f285be3" },
|
||||||
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
|
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
|
||||||
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||||
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
"nvim-spectre": { "branch": "master", "commit": "72f56f7585903cd7bf92c665351aa585e150af0f" },
|
||||||
@@ -47,22 +49,23 @@
|
|||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
|
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "6788013bb9cb784e606ada44206b0e755e4323d7" },
|
"nvim-web-devicons": { "branch": "master", "commit": "803353450c374192393f5387b6a0176d0972b848" },
|
||||||
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
"obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" },
|
||||||
"onedark-warm": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" },
|
"onedark-warm": { "branch": "master", "commit": "213c23ae45a04797572242568d5d51937181792d" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||||
"portal.nvim": { "branch": "main", "commit": "77d9d53fec945bfa407d5fd7120f1b4f117450ed" },
|
"portal.nvim": { "branch": "main", "commit": "77d9d53fec945bfa407d5fd7120f1b4f117450ed" },
|
||||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "8aafe2cbd89cd4090f573a98cab6b20366576fde" },
|
"rainbow-delimiters.nvim": { "branch": "master", "commit": "d6b802552cbe7d643a3b6b31f419c248d1f1e220" },
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "73a6ebc842cf81926eb1d424820b800f6f6a1227" },
|
"render-markdown.nvim": { "branch": "main", "commit": "b3efd6408e4e4d66d6caaee0579e72b579bc0884" },
|
||||||
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" },
|
"rose-pine": { "branch": "main", "commit": "cf2a288696b03d0934da713d66c6d71557b5c997" },
|
||||||
"sonokai": { "branch": "master", "commit": "5c7f88c0cac01b32cfce634f2a28947ab426537f" },
|
"snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" },
|
||||||
|
"sonokai": { "branch": "master", "commit": "b023c5280b16fe2366f5e779d8d2756b3e5ee9c3" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179" },
|
"telescope.nvim": { "branch": "master", "commit": "ad7d9580338354ccc136e5b8f0aa4f880434dcdc" },
|
||||||
"tokyonight": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
"tokyonight": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" },
|
||||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
"vim-test": { "branch": "master", "commit": "aa619692ff48a3cf3e6bdb893765039488d4e5f3" },
|
"vim-test": { "branch": "master", "commit": "c569b3620d0e53572efc95159f66ace5e7b06b48" },
|
||||||
"vimtex": { "branch": "master", "commit": "3abfa1ff75b81c01e4305e8062549ac0ea5cc9b8" },
|
"vimtex": { "branch": "master", "commit": "f707368022cdb851716be0d2970b90599c84a6a6" },
|
||||||
"vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" },
|
"vimux": { "branch": "master", "commit": "614f0bb1fb598f97accdcea71d5f7b18d7d62436" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
||||||
"yazi.nvim": { "branch": "main", "commit": "4a8bd3284708e11e48bcd865892902a46abdcce0" }
|
"yazi.nvim": { "branch": "main", "commit": "46fd318814b13cdb27750c045973df3f80425e68" }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"hrsh7th/cmp-path", -- file and folders
|
|
||||||
"hrsh7th/cmp-buffer", -- words from the current buffer
|
|
||||||
"hrsh7th/cmp-nvim-lsp", -- LSP-based autocompletions
|
|
||||||
"hrsh7th/cmp-cmdline", -- Command-line autocompletions
|
|
||||||
"tzachar/cmp-tabnine"--, build = "./install.sh",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
dependencies = {
|
|
||||||
"saadparwaiz1/cmp_luasnip",
|
|
||||||
"rafamadriz/friendly-snippets",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
dependencies = {
|
|
||||||
"hrsh7th/cmp-path",
|
|
||||||
"hrsh7th/cmp-buffer",
|
|
||||||
"hrsh7th/cmp-cmdline",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"tzachar/cmp-tabnine",
|
|
||||||
build = "./install.sh",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
38
nvim/.config/nvim/lua/plugins.inactive/ufo.lua
Normal file
38
nvim/.config/nvim/lua/plugins.inactive/ufo.lua
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
return {
|
||||||
|
"kevinhwang91/nvim-ufo",
|
||||||
|
dependencies = "kevinhwang91/promise-async",
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"zR",
|
||||||
|
function()
|
||||||
|
require("ufo").openAllFolds()
|
||||||
|
end,
|
||||||
|
desc = "Ufo: open all folds",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"zM",
|
||||||
|
function()
|
||||||
|
require("ufo").closeAllFolds()
|
||||||
|
end,
|
||||||
|
desc = "Ufo: close all folds",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"zr",
|
||||||
|
function()
|
||||||
|
require("ufo").openFoldsExceptKinds()
|
||||||
|
end,
|
||||||
|
desc = "Ufo: open outer folds",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
local ufo = require("ufo")
|
||||||
|
ufo.setup({
|
||||||
|
provider_selector = function(bufnr, filetype, buftype)
|
||||||
|
-- prefer LSP, fall back to treesitter
|
||||||
|
return { "lsp", "treesitter" }
|
||||||
|
end,
|
||||||
|
fold_virt_text_handler = ufo.handler, -- default virtual text
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- autopairs.lua: Auto-inserts matching pairs for brackets, quotes, and delimiters during coding.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"windwp/nvim-autopairs",
|
"windwp/nvim-autopairs",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
-- This is a VS Code like winbar that uses nvim-navic in order to get LSP context from your language server.
|
-- barbcue.lua: Provides a minimal status line with contextual code structure (e.g., current function/method) using Treesitter and nvim-navic for lightweight navigation.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
@@ -14,39 +14,39 @@ return {
|
|||||||
require("barbecue").setup({
|
require("barbecue").setup({
|
||||||
-- Create autocmd to attach to LSP
|
-- Create autocmd to attach to LSP
|
||||||
attach_navic = true,
|
attach_navic = true,
|
||||||
|
|
||||||
-- Create user commands
|
-- Create user commands
|
||||||
create_autocmd = true,
|
create_autocmd = true,
|
||||||
|
|
||||||
-- Whether to show/use file icons
|
-- Whether to show/use file icons
|
||||||
show_modified = false,
|
show_modified = false,
|
||||||
|
|
||||||
-- Whether to show file path
|
-- Whether to show file path
|
||||||
show_dirname = true,
|
show_dirname = true,
|
||||||
|
|
||||||
-- Whether to show basename
|
-- Whether to show basename
|
||||||
show_basename = true,
|
show_basename = true,
|
||||||
|
|
||||||
-- Filetypes to exclude
|
-- Filetypes to exclude
|
||||||
exclude_filetypes = { "netrw", "toggleterm", "alpha", "NvimTree" },
|
exclude_filetypes = { "netrw", "toggleterm", "alpha", "NvimTree" },
|
||||||
|
|
||||||
-- Modifiers to apply to dirname
|
-- Modifiers to apply to dirname
|
||||||
modifiers = {
|
modifiers = {
|
||||||
dirname = ":~:.",
|
dirname = ":~:.",
|
||||||
basename = "",
|
basename = "",
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Whether to display path to file
|
-- Whether to display path to file
|
||||||
show_navic = true,
|
show_navic = true,
|
||||||
|
|
||||||
-- Custom section
|
-- Custom section
|
||||||
custom_section = function()
|
custom_section = function()
|
||||||
return " "
|
return " "
|
||||||
end,
|
end,
|
||||||
|
|
||||||
-- Theme configuration
|
-- Theme configuration
|
||||||
theme = "auto", -- 'auto', 'tokyonight', 'catppuccin', etc.
|
theme = "auto", -- 'auto', 'tokyonight', 'catppuccin', etc.
|
||||||
|
|
||||||
-- Symbols for different node kinds
|
-- Symbols for different node kinds
|
||||||
kinds = {
|
kinds = {
|
||||||
File = "",
|
File = "",
|
||||||
|
|||||||
63
nvim/.config/nvim/lua/plugins/blink.lua
Normal file
63
nvim/.config/nvim/lua/plugins/blink.lua
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
-- blink.lua: Temporarily highlights cursor position after movement to improve visibility.
|
||||||
|
|
||||||
|
return {
|
||||||
|
"saghen/blink.cmp",
|
||||||
|
version = "v1.*", -- stay on stable branch
|
||||||
|
build = "cargo build --release", -- compile matcher locally
|
||||||
|
lazy = false, -- must load before first lsp attach
|
||||||
|
dependencies = {
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
"rafamadriz/friendly-snippets",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
-- completion sources ----------------------------------------------------
|
||||||
|
sources = {
|
||||||
|
min_keyword_length = 2, -- <-- Move it here from trigger section
|
||||||
|
default = { "nvim_lsp", "luasnip", "buffer", "path", "cmp_tabnine" },
|
||||||
|
providers = {
|
||||||
|
nvim_lsp = { name = "LSP", module = "blink.cmp.sources.lsp" },
|
||||||
|
luasnip = { name = "Snippets", module = "blink.cmp.sources.luasnip" },
|
||||||
|
buffer = { name = "Buffer", module = "blink.cmp.sources.buffer" },
|
||||||
|
path = { name = "Path", module = "blink.cmp.sources.path" },
|
||||||
|
cmp_tabnine = {
|
||||||
|
name = "TabNine",
|
||||||
|
module = "blink.compat.source",
|
||||||
|
score_offset = 3,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
per_filetype = {
|
||||||
|
lua = { default = { "lazydev", "nvim_lsp", "luasnip", "buffer", "path" } },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
-- completion behaviour --------------------------------------------------
|
||||||
|
completion = {
|
||||||
|
accept = { auto_brackets = { enabled = true } },
|
||||||
|
trigger = {
|
||||||
|
show_on_trigger_character = true, -- <-- Remove min_keyword_length from here
|
||||||
|
},
|
||||||
|
list = {
|
||||||
|
selection = {
|
||||||
|
preselect = function(ctx)
|
||||||
|
return ctx.mode ~= "cmdline"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
documentation = {
|
||||||
|
auto_show = true,
|
||||||
|
auto_show_delay_ms = 100,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
signature = {
|
||||||
|
enabled = true,
|
||||||
|
window = { border = "rounded" },
|
||||||
|
},
|
||||||
|
|
||||||
|
cmdline = { enabled = true },
|
||||||
|
},
|
||||||
|
|
||||||
|
config = function(_, opts)
|
||||||
|
require("blink.cmp").setup(opts)
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- colorschemes.lua: Manages and switches between visual themes for the editor interface.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"catppuccin/nvim",
|
"catppuccin/nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- comment.lua: Toggles line or block comments with customizable keybindings.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
@@ -21,21 +23,21 @@ return {
|
|||||||
|
|
||||||
-- LHS of toggle mappings in NORMAL mode
|
-- LHS of toggle mappings in NORMAL mode
|
||||||
toggler = {
|
toggler = {
|
||||||
line = "gcc", -- Line-comment toggle keymap
|
line = "gcc", -- Line-comment toggle keymap
|
||||||
block = "gbc", -- Block-comment toggle keymap
|
block = "gbc", -- Block-comment toggle keymap
|
||||||
},
|
},
|
||||||
|
|
||||||
-- LHS of operator-pending mappings in NORMAL and VISUAL mode
|
-- LHS of operator-pending mappings in NORMAL and VISUAL mode
|
||||||
opleader = {
|
opleader = {
|
||||||
line = "gc", -- Line-comment keymap
|
line = "gc", -- Line-comment keymap
|
||||||
block = "gb", -- Block-comment keymap
|
block = "gb", -- Block-comment keymap
|
||||||
},
|
},
|
||||||
|
|
||||||
-- LHS of extra mappings
|
-- LHS of extra mappings
|
||||||
extra = {
|
extra = {
|
||||||
above = "gcO", -- Add comment on the line above
|
above = "gcO", -- Add comment on the line above
|
||||||
below = "gco", -- Add comment on the line below
|
below = "gco", -- Add comment on the line below
|
||||||
eol = "gcA", -- Add comment at the end of line
|
eol = "gcA", -- Add comment at the end of line
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Enable keybindings
|
-- Enable keybindings
|
||||||
|
|||||||
@@ -1,12 +1,20 @@
|
|||||||
|
-- completions.lua: Provides intelligent code completion via LSP or snippet engines.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hrsh7th/cmp-cmdline", -- NEW: Command line completion
|
"hrsh7th/cmp-cmdline", -- Command line completion
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hrsh7th/cmp-nvim-lua", -- NEW: Better Neovim Lua API completion
|
"hrsh7th/cmp-nvim-lua", -- Better Neovim Lua API completion
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/cmp-path", -- ADD THIS: Path completion source
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/cmp-buffer", -- ADD THIS: Buffer completion source
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"L3MON4D3/LuaSnip",
|
"L3MON4D3/LuaSnip",
|
||||||
@@ -21,7 +29,6 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
local cmp = require("cmp")
|
local cmp = require("cmp")
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
cmp.setup({
|
cmp.setup({
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
@@ -41,10 +48,12 @@ return {
|
|||||||
}),
|
}),
|
||||||
sources = cmp.config.sources({
|
sources = cmp.config.sources({
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = "luasnip" }, -- For luasnip users.
|
{ name = "luasnip" },
|
||||||
|
{ name = "nvim_lua" }, -- ADD THIS: For nvim lua API completion
|
||||||
|
}, {
|
||||||
{ name = "buffer" },
|
{ name = "buffer" },
|
||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
{ name = "cmp_tabnine" }, -- ai powerde suggestions
|
{ name = "cmp_tabnine" }, -- ai powered suggestions
|
||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- conform.lua: Automates code formatting on save or manual trigger.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- dashboard.lua: Creates a customizable start screen with project shortcuts and statistics.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvimdev/dashboard-nvim",
|
"nvimdev/dashboard-nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- dressing.lua: Enhances UI elements like input boxes and select menus for consistency.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"stevearc/dressing.nvim",
|
"stevearc/dressing.nvim",
|
||||||
|
|||||||
@@ -1,50 +1,52 @@
|
|||||||
|
-- flash-nvim.lua: Highlights search matches and movement destinations for faster navigation.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"folke/flash.nvim",
|
"folke/flash.nvim",
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
---@type Flash.Config
|
---@type Flash.Config
|
||||||
opts = {},
|
opts = {},
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
"<leader>w",
|
"<leader>w",
|
||||||
mode = { "n", "x", "o" },
|
mode = { "n", "x", "o" },
|
||||||
function()
|
function()
|
||||||
require("flash").jump()
|
require("flash").jump()
|
||||||
end,
|
end,
|
||||||
desc = "Flash",
|
desc = "Flash",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>W",
|
"<leader>W",
|
||||||
mode = { "n", "x", "o" },
|
mode = { "n", "x", "o" },
|
||||||
function()
|
function()
|
||||||
require("flash").treesitter()
|
require("flash").treesitter()
|
||||||
end,
|
end,
|
||||||
desc = "Flash Treesitter",
|
desc = "Flash Treesitter",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>r",
|
"<leader>r",
|
||||||
mode = "o",
|
mode = "o",
|
||||||
function()
|
function()
|
||||||
require("flash").remote()
|
require("flash").remote()
|
||||||
end,
|
end,
|
||||||
desc = "Remote Flash",
|
desc = "Remote Flash",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>R",
|
"<leader>R",
|
||||||
mode = { "o", "x" },
|
mode = { "o", "x" },
|
||||||
function()
|
function()
|
||||||
require("flash").treesitter_search()
|
require("flash").treesitter_search()
|
||||||
end,
|
end,
|
||||||
desc = "Treesitter Search",
|
desc = "Treesitter Search",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<c-f>",
|
"<c-f>",
|
||||||
mode = { "c" },
|
mode = { "c" },
|
||||||
function()
|
function()
|
||||||
require("flash").toggle()
|
require("flash").toggle()
|
||||||
end,
|
end,
|
||||||
desc = "Toggle Flash Search",
|
desc = "Toggle Flash Search",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- fzf.lua: Integrates fuzzy Finder for quick file, buffer, and command searching.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"ibhagwan/fzf-lua",
|
"ibhagwan/fzf-lua",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- git-signs.lua: Displays Git diff markers directly in the editor margin.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"lewis6991/gitsigns.nvim",
|
"lewis6991/gitsigns.nvim",
|
||||||
@@ -5,19 +7,19 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
require("gitsigns").setup({
|
require("gitsigns").setup({
|
||||||
signs = {
|
signs = {
|
||||||
add = { text = "│" },
|
add = { text = "│" },
|
||||||
change = { text = "│" },
|
change = { text = "│" },
|
||||||
delete = { text = "_" },
|
delete = { text = "_" },
|
||||||
topdelete = { text = "‾" },
|
topdelete = { text = "‾" },
|
||||||
changedelete = { text = "~" },
|
changedelete = { text = "~" },
|
||||||
untracked = { text = "┆" },
|
untracked = { text = "┆" },
|
||||||
},
|
},
|
||||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||||
watch_gitdir = {
|
watch_gitdir = {
|
||||||
follow_files = true
|
follow_files = true,
|
||||||
},
|
},
|
||||||
attach_to_untracked = true,
|
attach_to_untracked = true,
|
||||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||||
@@ -38,7 +40,7 @@ return {
|
|||||||
style = "minimal",
|
style = "minimal",
|
||||||
relative = "cursor",
|
relative = "cursor",
|
||||||
row = 0,
|
row = 0,
|
||||||
col = 1
|
col = 1,
|
||||||
},
|
},
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
local gs = package.loaded.gitsigns
|
local gs = package.loaded.gitsigns
|
||||||
@@ -51,35 +53,51 @@ return {
|
|||||||
|
|
||||||
-- Navigation
|
-- Navigation
|
||||||
map("n", "]c", function()
|
map("n", "]c", function()
|
||||||
if vim.wo.diff then return "]c" end
|
if vim.wo.diff then
|
||||||
vim.schedule(function() gs.next_hunk() end)
|
return "]c"
|
||||||
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
gs.next_hunk()
|
||||||
|
end)
|
||||||
return "<Ignore>"
|
return "<Ignore>"
|
||||||
end, { expr = true, desc = "Next hunk" })
|
end, { expr = true, desc = "Next hunk" })
|
||||||
|
|
||||||
map("n", "[c", function()
|
map("n", "[c", function()
|
||||||
if vim.wo.diff then return "[c" end
|
if vim.wo.diff then
|
||||||
vim.schedule(function() gs.prev_hunk() end)
|
return "[c"
|
||||||
|
end
|
||||||
|
vim.schedule(function()
|
||||||
|
gs.prev_hunk()
|
||||||
|
end)
|
||||||
return "<Ignore>"
|
return "<Ignore>"
|
||||||
end, { expr = true, desc = "Previous hunk" })
|
end, { expr = true, desc = "Previous hunk" })
|
||||||
|
|
||||||
-- Actions
|
-- Actions
|
||||||
map("n", "<leader>hs", gs.stage_hunk, { desc = "Stage hunk" })
|
map("n", "<leader>hs", gs.stage_hunk, { desc = "Stage hunk" })
|
||||||
map("n", "<leader>hr", gs.reset_hunk, { desc = "Reset hunk" })
|
map("n", "<leader>hr", gs.reset_hunk, { desc = "Reset hunk" })
|
||||||
map("v", "<leader>hs", function() gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "Stage hunk" })
|
map("v", "<leader>hs", function()
|
||||||
map("v", "<leader>hr", function() gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") }) end, { desc = "Reset hunk" })
|
gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||||
|
end, { desc = "Stage hunk" })
|
||||||
|
map("v", "<leader>hr", function()
|
||||||
|
gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||||
|
end, { desc = "Reset hunk" })
|
||||||
map("n", "<leader>hS", gs.stage_buffer, { desc = "Stage buffer" })
|
map("n", "<leader>hS", gs.stage_buffer, { desc = "Stage buffer" })
|
||||||
map("n", "<leader>hu", gs.undo_stage_hunk, { desc = "Undo stage hunk" })
|
map("n", "<leader>hu", gs.undo_stage_hunk, { desc = "Undo stage hunk" })
|
||||||
map("n", "<leader>hR", gs.reset_buffer, { desc = "Reset buffer" })
|
map("n", "<leader>hR", gs.reset_buffer, { desc = "Reset buffer" })
|
||||||
map("n", "<leader>hp", gs.preview_hunk, { desc = "Preview hunk" })
|
map("n", "<leader>hp", gs.preview_hunk, { desc = "Preview hunk" })
|
||||||
map("n", "<leader>hb", function() gs.blame_line({ full = true }) end, { desc = "Blame line" })
|
map("n", "<leader>hb", function()
|
||||||
|
gs.blame_line({ full = true })
|
||||||
|
end, { desc = "Blame line" })
|
||||||
map("n", "<leader>tb", gs.toggle_current_line_blame, { desc = "Toggle line blame" })
|
map("n", "<leader>tb", gs.toggle_current_line_blame, { desc = "Toggle line blame" })
|
||||||
map("n", "<leader>hd", gs.diffthis, { desc = "Diff this" })
|
map("n", "<leader>hd", gs.diffthis, { desc = "Diff this" })
|
||||||
map("n", "<leader>hD", function() gs.diffthis("~") end, { desc = "Diff this ~" })
|
map("n", "<leader>hD", function()
|
||||||
|
gs.diffthis("~")
|
||||||
|
end, { desc = "Diff this ~" })
|
||||||
map("n", "<leader>td", gs.toggle_deleted, { desc = "Toggle deleted" })
|
map("n", "<leader>td", gs.toggle_deleted, { desc = "Toggle deleted" })
|
||||||
|
|
||||||
-- Text object
|
-- Text object
|
||||||
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", { desc = "Select hunk" })
|
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", { desc = "Select hunk" })
|
||||||
end
|
end,
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|||||||
19
nvim/.config/nvim/lua/plugins/grapple.lua
Normal file
19
nvim/.config/nvim/lua/plugins/grapple.lua
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
-- grapple.lua: Manages and switches between workspace tags for project organization.
|
||||||
|
|
||||||
|
return {
|
||||||
|
"cbochs/grapple.nvim",
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
keys = {
|
||||||
|
{ "<leader>m", "<cmd>Grapple toggle<cr>", desc = "Grapple: toggle file" },
|
||||||
|
{ "<leader>M", "<cmd>Grapple toggle_tags<cr>", desc = "Grapple: open tag menu" },
|
||||||
|
{ "<leader>1", "<cmd>Grapple select index=1<cr>", desc = "Grapple: goto tag 1" },
|
||||||
|
{ "<leader>2", "<cmd>Grapple select index=2<cr>", desc = "Grapple: goto tag 2" },
|
||||||
|
{ "<leader>3", "<cmd>Grapple select index=3<cr>", desc = "Grapple: goto tag 3" },
|
||||||
|
{ "<leader>4", "<cmd>Grapple select index=4<cr>", desc = "Grapple: goto tag 4" },
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
scope = "git", -- per-branch scope
|
||||||
|
quick_select = "123456789",
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- indent-blankline.lua: Visualizes indentation levels with vertical guide lines.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- lazydev.lua: Streamlines Neovim plugin management and dependency loading.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"folke/lazydev.nvim",
|
"folke/lazydev.nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- lsp-config.lua: Configures Language Server Protocol for code analysis and diagnostics.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"williamboman/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
@@ -20,10 +22,10 @@ return {
|
|||||||
"html",
|
"html",
|
||||||
"texlab",
|
"texlab",
|
||||||
"ltex",
|
"ltex",
|
||||||
"dockerls", -- Fixed: correct name
|
"dockerls",
|
||||||
"yamlls", -- Fixed: correct name (not yaml-language-server)
|
"yamlls",
|
||||||
"taplo", -- TOML LSP
|
"taplo",
|
||||||
"cssls", -- css
|
"cssls",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -36,7 +38,6 @@ return {
|
|||||||
config = function()
|
config = function()
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
local navic = require("nvim-navic")
|
local navic = require("nvim-navic")
|
||||||
-- local lspconfig = require("lspconfig")
|
|
||||||
|
|
||||||
-- Common on_attach function
|
-- Common on_attach function
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
@@ -88,11 +89,30 @@ return {
|
|||||||
ltex = {
|
ltex = {
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
filetypes = { "latex", "tex", "bib", "markdown" },
|
filetypes = { "latex", "tex", "bib", "markdown", "mail", "text" },
|
||||||
settings = {
|
settings = {
|
||||||
ltex = {
|
ltex = {
|
||||||
language = "en-US",
|
language = "en-US",
|
||||||
enabled = { "latex", "tex", "bib" },
|
enabled = { "latex", "tex", "bib", "markdown", "mail", "text" },
|
||||||
|
checkFrequency = "save", -- Only check when you save, not on every keystroke
|
||||||
|
diagnosticSeverity = "hint", -- Less intrusive
|
||||||
|
completionEnabled = true,
|
||||||
|
additionalRules = {
|
||||||
|
enablePickyRules = true,
|
||||||
|
motherTongue = "en-US",
|
||||||
|
},
|
||||||
|
disabledRules = {
|
||||||
|
-- Add rules you want to disable, e.g.:
|
||||||
|
-- ["en-US"] = { "MORFOLOGIK_RULE_EN_US" },
|
||||||
|
},
|
||||||
|
dictionary = {
|
||||||
|
-- Add custom words here that shouldn't be flagged
|
||||||
|
["en-US"] = {
|
||||||
|
-- "aerc",
|
||||||
|
-- "notmuch",
|
||||||
|
-- "dovecot",
|
||||||
|
},
|
||||||
|
},
|
||||||
java = {
|
java = {
|
||||||
path = "",
|
path = "",
|
||||||
initialHeapSize = 64,
|
initialHeapSize = 64,
|
||||||
@@ -129,7 +149,7 @@ return {
|
|||||||
css = {
|
css = {
|
||||||
validate = true,
|
validate = true,
|
||||||
lint = {
|
lint = {
|
||||||
unknownAtRules = "ignore", -- Important for @define-color in GTK CSS
|
unknownAtRules = "ignore",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
scss = {
|
scss = {
|
||||||
@@ -185,11 +205,31 @@ return {
|
|||||||
vim.lsp.enable(server)
|
vim.lsp.enable(server)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Configure diagnostics globally
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = false, -- Disable inline diagnostic text (no more popups!)
|
||||||
|
signs = true, -- Keep gutter signs
|
||||||
|
underline = true, -- Underline errors
|
||||||
|
update_in_insert = false, -- Don't update diagnostics while typing
|
||||||
|
severity_sort = true,
|
||||||
|
float = {
|
||||||
|
border = "rounded",
|
||||||
|
source = "always",
|
||||||
|
header = "",
|
||||||
|
prefix = "",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
-- LSP keymaps
|
-- LSP keymaps
|
||||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
|
||||||
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {})
|
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {})
|
||||||
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {})
|
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {})
|
||||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
|
||||||
|
|
||||||
|
-- Show diagnostics in floating window (optional - press this when you want to see the error)
|
||||||
|
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, {})
|
||||||
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, {})
|
||||||
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, {})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- lualine.lua: Customizable status line showing file info, language, and mode.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"nvim-lualine/lualine.nvim",
|
"nvim-lualine/lualine.nvim",
|
||||||
config = function()
|
config = function()
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- neo-tree.lua: File explorer with nested structure and Git integration.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
branch = "v3.x",
|
branch = "v3.x",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- neogit.lua: Embedded Git client with status, commits, and branch management.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"NeogitOrg/neogit",
|
"NeogitOrg/neogit",
|
||||||
|
|||||||
@@ -1,17 +1,19 @@
|
|||||||
|
-- noice.lua: Replaces default UI messages with polished, keyboard-friendly notifications.
|
||||||
|
|
||||||
return { -- lazy.nvim
|
return { -- lazy.nvim
|
||||||
{
|
{
|
||||||
"folke/noice.nvim",
|
"folke/noice.nvim",
|
||||||
event = "VeryLazy",
|
event = "VeryLazy",
|
||||||
opts = {
|
opts = {
|
||||||
-- add any options here
|
-- add any options here
|
||||||
},
|
},
|
||||||
dependencies = {
|
dependencies = {
|
||||||
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||||
"MunifTanjim/nui.nvim",
|
"MunifTanjim/nui.nvim",
|
||||||
-- OPTIONAL:
|
-- OPTIONAL:
|
||||||
-- `nvim-notify` is only needed, if you want to use the notification view.
|
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||||
-- If not available, we use `mini` as the fallback
|
-- If not available, we use `mini` as the fallback
|
||||||
"rcarriga/nvim-notify",
|
"rcarriga/nvim-notify",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- nvim-colorizer.lua: Highlights color codes (e.g., #FFFFFF) directly in code.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"norcalli/nvim-colorizer.lua",
|
"norcalli/nvim-colorizer.lua",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- nvim-lint.lua: Runs linters automatically on save or on-demand for code quality.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"mfussenegger/nvim-lint",
|
"mfussenegger/nvim-lint",
|
||||||
|
|||||||
@@ -1,159 +1,161 @@
|
|||||||
|
-- nvim-spectre.lua: Global search/replace tool with real-time preview and refactoring.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvim-pack/nvim-spectre",
|
"nvim-pack/nvim-spectre",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
require("spectre").setup({
|
require("spectre").setup({
|
||||||
-- Optional: customize colors
|
-- Optional: customize colors
|
||||||
color_devicons = true,
|
color_devicons = true,
|
||||||
open_cmd = "vnew",
|
open_cmd = "vnew",
|
||||||
live_update = false, -- auto execute search again when you write any file
|
live_update = false, -- auto execute search again when you write any file
|
||||||
line_sep_start = "┌-----------------------------------------",
|
line_sep_start = "┌-----------------------------------------",
|
||||||
result_padding = "¦ ",
|
result_padding = "¦ ",
|
||||||
line_sep = "└-----------------------------------------",
|
line_sep = "└-----------------------------------------",
|
||||||
highlight = {
|
highlight = {
|
||||||
ui = "String",
|
ui = "String",
|
||||||
search = "DiffChange",
|
search = "DiffChange",
|
||||||
replace = "DiffDelete",
|
replace = "DiffDelete",
|
||||||
},
|
},
|
||||||
mapping = {
|
mapping = {
|
||||||
["toggle_line"] = {
|
["toggle_line"] = {
|
||||||
map = "dd",
|
map = "dd",
|
||||||
cmd = "<cmd>lua require('spectre').toggle_line()<CR>",
|
cmd = "<cmd>lua require('spectre').toggle_line()<CR>",
|
||||||
desc = "toggle item",
|
desc = "toggle item",
|
||||||
},
|
},
|
||||||
["enter_file"] = {
|
["enter_file"] = {
|
||||||
map = "<cr>",
|
map = "<cr>",
|
||||||
cmd = "<cmd>lua require('spectre.actions').select_entry()<CR>",
|
cmd = "<cmd>lua require('spectre.actions').select_entry()<CR>",
|
||||||
desc = "open file",
|
desc = "open file",
|
||||||
},
|
},
|
||||||
["send_to_qf"] = {
|
["send_to_qf"] = {
|
||||||
map = "<leader>q",
|
map = "<leader>q",
|
||||||
cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
|
cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
|
||||||
desc = "send all items to quickfix",
|
desc = "send all items to quickfix",
|
||||||
},
|
},
|
||||||
["replace_cmd"] = {
|
["replace_cmd"] = {
|
||||||
map = "<leader>c",
|
map = "<leader>c",
|
||||||
cmd = "<cmd>lua require('spectre.actions').replace_cmd()<CR>",
|
cmd = "<cmd>lua require('spectre.actions').replace_cmd()<CR>",
|
||||||
desc = "input replace command",
|
desc = "input replace command",
|
||||||
},
|
},
|
||||||
["show_option_menu"] = {
|
["show_option_menu"] = {
|
||||||
map = "<leader>o",
|
map = "<leader>o",
|
||||||
cmd = "<cmd>lua require('spectre').show_options()<CR>",
|
cmd = "<cmd>lua require('spectre').show_options()<CR>",
|
||||||
desc = "show options",
|
desc = "show options",
|
||||||
},
|
},
|
||||||
["run_current_replace"] = {
|
["run_current_replace"] = {
|
||||||
map = "<leader>rc",
|
map = "<leader>rc",
|
||||||
cmd = "<cmd>lua require('spectre.actions').run_current_replace()<CR>",
|
cmd = "<cmd>lua require('spectre.actions').run_current_replace()<CR>",
|
||||||
desc = "replace current line",
|
desc = "replace current line",
|
||||||
},
|
},
|
||||||
["run_replace"] = {
|
["run_replace"] = {
|
||||||
map = "<leader>R",
|
map = "<leader>R",
|
||||||
cmd = "<cmd>lua require('spectre.actions').run_replace()<CR>",
|
cmd = "<cmd>lua require('spectre.actions').run_replace()<CR>",
|
||||||
desc = "replace all",
|
desc = "replace all",
|
||||||
},
|
},
|
||||||
["change_view_mode"] = {
|
["change_view_mode"] = {
|
||||||
map = "<leader>v",
|
map = "<leader>v",
|
||||||
cmd = "<cmd>lua require('spectre').change_view()<CR>",
|
cmd = "<cmd>lua require('spectre').change_view()<CR>",
|
||||||
desc = "change result view mode",
|
desc = "change result view mode",
|
||||||
},
|
},
|
||||||
["change_replace_sed"] = {
|
["change_replace_sed"] = {
|
||||||
map = "trs",
|
map = "trs",
|
||||||
cmd = "<cmd>lua require('spectre').change_engine_replace('sed')<CR>",
|
cmd = "<cmd>lua require('spectre').change_engine_replace('sed')<CR>",
|
||||||
desc = "use sed to replace",
|
desc = "use sed to replace",
|
||||||
},
|
},
|
||||||
["change_replace_oxi"] = {
|
["change_replace_oxi"] = {
|
||||||
map = "tro",
|
map = "tro",
|
||||||
cmd = "<cmd>lua require('spectre').change_engine_replace('oxi')<CR>",
|
cmd = "<cmd>lua require('spectre').change_engine_replace('oxi')<CR>",
|
||||||
desc = "use oxi to replace",
|
desc = "use oxi to replace",
|
||||||
},
|
},
|
||||||
["toggle_live_update"] = {
|
["toggle_live_update"] = {
|
||||||
map = "tu",
|
map = "tu",
|
||||||
cmd = "<cmd>lua require('spectre').toggle_live_update()<CR>",
|
cmd = "<cmd>lua require('spectre').toggle_live_update()<CR>",
|
||||||
desc = "update when vim writes to file",
|
desc = "update when vim writes to file",
|
||||||
},
|
},
|
||||||
["toggle_ignore_case"] = {
|
["toggle_ignore_case"] = {
|
||||||
map = "ti",
|
map = "ti",
|
||||||
cmd = "<cmd>lua require('spectre').change_options('ignore-case')<CR>",
|
cmd = "<cmd>lua require('spectre').change_options('ignore-case')<CR>",
|
||||||
desc = "toggle ignore case",
|
desc = "toggle ignore case",
|
||||||
},
|
},
|
||||||
["toggle_ignore_hidden"] = {
|
["toggle_ignore_hidden"] = {
|
||||||
map = "th",
|
map = "th",
|
||||||
cmd = "<cmd>lua require('spectre').change_options('hidden')<CR>",
|
cmd = "<cmd>lua require('spectre').change_options('hidden')<CR>",
|
||||||
desc = "toggle search hidden",
|
desc = "toggle search hidden",
|
||||||
},
|
},
|
||||||
["resume_last_search"] = {
|
["resume_last_search"] = {
|
||||||
map = "<leader>l",
|
map = "<leader>l",
|
||||||
cmd = "<cmd>lua require('spectre').resume_last_search()<CR>",
|
cmd = "<cmd>lua require('spectre').resume_last_search()<CR>",
|
||||||
desc = "resume last search",
|
desc = "resume last search",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
find_engine = {
|
find_engine = {
|
||||||
["rg"] = {
|
["rg"] = {
|
||||||
cmd = "rg",
|
cmd = "rg",
|
||||||
args = {
|
args = {
|
||||||
"--color=never",
|
"--color=never",
|
||||||
"--no-heading",
|
"--no-heading",
|
||||||
"--with-filename",
|
"--with-filename",
|
||||||
"--line-number",
|
"--line-number",
|
||||||
"--column",
|
"--column",
|
||||||
},
|
},
|
||||||
options = {
|
options = {
|
||||||
["ignore-case"] = {
|
["ignore-case"] = {
|
||||||
value = "--ignore-case",
|
value = "--ignore-case",
|
||||||
icon = "[I]",
|
icon = "[I]",
|
||||||
desc = "ignore case",
|
desc = "ignore case",
|
||||||
},
|
},
|
||||||
["hidden"] = {
|
["hidden"] = {
|
||||||
value = "--hidden",
|
value = "--hidden",
|
||||||
desc = "hidden file",
|
desc = "hidden file",
|
||||||
icon = "[H]",
|
icon = "[H]",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
replace_engine = {
|
replace_engine = {
|
||||||
["sed"] = {
|
["sed"] = {
|
||||||
cmd = "sed",
|
cmd = "sed",
|
||||||
args = nil,
|
args = nil,
|
||||||
options = {
|
options = {
|
||||||
["ignore-case"] = {
|
["ignore-case"] = {
|
||||||
value = "--ignore-case",
|
value = "--ignore-case",
|
||||||
icon = "[I]",
|
icon = "[I]",
|
||||||
desc = "ignore case",
|
desc = "ignore case",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
default = {
|
default = {
|
||||||
find = {
|
find = {
|
||||||
cmd = "rg",
|
cmd = "rg",
|
||||||
options = { "ignore-case" },
|
options = { "ignore-case" },
|
||||||
},
|
},
|
||||||
replace = {
|
replace = {
|
||||||
cmd = "sed",
|
cmd = "sed",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Global keymaps
|
-- Global keymaps
|
||||||
vim.keymap.set("n", "<leader>S", '<cmd>lua require("spectre").toggle()<CR>', {
|
vim.keymap.set("n", "<leader>S", '<cmd>lua require("spectre").toggle()<CR>', {
|
||||||
desc = "Toggle Spectre",
|
desc = "Toggle Spectre",
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>sw", '<cmd>lua require("spectre").open_visual({select_word=true})<CR>', {
|
vim.keymap.set("n", "<leader>sw", '<cmd>lua require("spectre").open_visual({select_word=true})<CR>', {
|
||||||
desc = "Search current word",
|
desc = "Search current word",
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("v", "<leader>sw", '<esc><cmd>lua require("spectre").open_visual()<CR>', {
|
vim.keymap.set("v", "<leader>sw", '<esc><cmd>lua require("spectre").open_visual()<CR>', {
|
||||||
desc = "Search current word",
|
desc = "Search current word",
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>sp", '<cmd>lua require("spectre").open_file_search({select_word=true})<CR>', {
|
vim.keymap.set("n", "<leader>sp", '<cmd>lua require("spectre").open_file_search({select_word=true})<CR>', {
|
||||||
desc = "Search in current file",
|
desc = "Search in current file",
|
||||||
})
|
})
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
|
-- nvim-surround.lua: Quickly add, delete, or change surrounding delimiters (e.g., brackets).
|
||||||
|
|
||||||
-- nvim-surround configuration with autopairs, treesitter, and comment integration
|
-- nvim-surround configuration with autopairs, treesitter, and comment integration
|
||||||
-- Place this in ~/.config/nvim/lua/plugins/nvim-surround.lua (for lazy.nvim)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
-- nvim-surround: manipulate surroundings
|
-- nvim-surround: manipulate surroundings
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
|
-- nvim-tmux-navigator.lua: Switch between Neovim and tmux panes using consistent keybindings.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"alexghergh/nvim-tmux-navigation",
|
"alexghergh/nvim-tmux-navigation",
|
||||||
config = function()
|
config = function()
|
||||||
require('nvim-tmux-navigation').setup({})
|
require("nvim-tmux-navigation").setup({})
|
||||||
vim.keymap.set("n", "<C-h>", "<Cmd>NvimTmuxNavigateLeft<CR>", {})
|
vim.keymap.set("n", "<C-h>", "<Cmd>NvimTmuxNavigateLeft<CR>", {})
|
||||||
vim.keymap.set("n", "<C-j>", "<Cmd>NvimTmuxNavigateDown<CR>", {})
|
vim.keymap.set("n", "<C-j>", "<Cmd>NvimTmuxNavigateDown<CR>", {})
|
||||||
vim.keymap.set("n", "<C-k>", "<Cmd>NvimTmuxNavigateUp<CR>", {})
|
vim.keymap.set("n", "<C-k>", "<Cmd>NvimTmuxNavigateUp<CR>", {})
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- nvim-web-devicons.lua: Adds icons for file types to improve visual navigation.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
@@ -11,23 +13,23 @@ return {
|
|||||||
icon = "",
|
icon = "",
|
||||||
color = "#428850",
|
color = "#428850",
|
||||||
cterm_color = "65",
|
cterm_color = "65",
|
||||||
name = "Zsh"
|
name = "Zsh",
|
||||||
},
|
},
|
||||||
-- Add custom icons
|
-- Add custom icons
|
||||||
["Dockerfile"] = {
|
["Dockerfile"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#384d54",
|
color = "#384d54",
|
||||||
name = "Dockerfile"
|
name = "Dockerfile",
|
||||||
},
|
},
|
||||||
[".env"] = {
|
[".env"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#faf743",
|
color = "#faf743",
|
||||||
name = "Env"
|
name = "Env",
|
||||||
},
|
},
|
||||||
[".gitignore"] = {
|
[".gitignore"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#f1502f",
|
color = "#f1502f",
|
||||||
name = "GitIgnore"
|
name = "GitIgnore",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- Override by file extension
|
-- Override by file extension
|
||||||
@@ -35,17 +37,17 @@ return {
|
|||||||
["log"] = {
|
["log"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#81e043",
|
color = "#81e043",
|
||||||
name = "Log"
|
name = "Log",
|
||||||
},
|
},
|
||||||
["rs"] = {
|
["rs"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#dea584",
|
color = "#dea584",
|
||||||
name = "Rust"
|
name = "Rust",
|
||||||
},
|
},
|
||||||
["md"] = {
|
["md"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#519aba",
|
color = "#519aba",
|
||||||
name = "Markdown"
|
name = "Markdown",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- Override by filename
|
-- Override by filename
|
||||||
@@ -53,27 +55,27 @@ return {
|
|||||||
["makefile"] = {
|
["makefile"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#6d8086",
|
color = "#6d8086",
|
||||||
name = "Makefile"
|
name = "Makefile",
|
||||||
},
|
},
|
||||||
["dockerfile"] = {
|
["dockerfile"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#384d54",
|
color = "#384d54",
|
||||||
name = "Dockerfile"
|
name = "Dockerfile",
|
||||||
},
|
},
|
||||||
[".dockerignore"] = {
|
[".dockerignore"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#384d54",
|
color = "#384d54",
|
||||||
name = "DockerIgnore"
|
name = "DockerIgnore",
|
||||||
},
|
},
|
||||||
["package.json"] = {
|
["package.json"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#e8274b",
|
color = "#e8274b",
|
||||||
name = "PackageJson"
|
name = "PackageJson",
|
||||||
},
|
},
|
||||||
["package-lock.json"] = {
|
["package-lock.json"] = {
|
||||||
icon = "",
|
icon = "",
|
||||||
color = "#7a0d21",
|
color = "#7a0d21",
|
||||||
name = "PackageLockJson"
|
name = "PackageLockJson",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
-- Use colors by default
|
-- Use colors by default
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- obsidian.lua: Integrates Obsidian note-taking workflow into Neovim.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"epwalsh/obsidian.nvim",
|
"epwalsh/obsidian.nvim",
|
||||||
|
|||||||
@@ -1,72 +1,69 @@
|
|||||||
|
-- portal.lua: Saves and recalls cursor positions across files for efficient navigation.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"cbochs/portal.nvim",
|
"cbochs/portal.nvim",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"cbochs/grapple.nvim", -- Optional: for grapple integration
|
"cbochs/grapple.nvim", -- Optional: for grapple integration
|
||||||
"ThePrimeagen/harpoon", -- Optional: for harpoon integration
|
-- "ThePrimeagen/harpoon", -- Optional: for harpoon integration
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
-- Setup portal
|
-- Setup portal
|
||||||
require("portal").setup({
|
require("portal").setup({
|
||||||
labels = { "j", "k", "h", "l" },
|
labels = { "j", "k", "h", "l" },
|
||||||
escape = {
|
escape = {
|
||||||
["<esc>"] = true,
|
["<esc>"] = true,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Basic navigation keymaps
|
-- Basic navigation keymaps
|
||||||
vim.keymap.set("n", "<leader>u", "<cmd>Portal jumplist backward<cr>", { desc = "Portal: Jump backward" })
|
vim.keymap.set("n", "<leader>u", "<cmd>Portal jumplist backward<cr>", { desc = "Portal: Jump backward" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>i", "<cmd>Portal jumplist forward<cr>", { desc = "Portal: Jump forward" })
|
vim.keymap.set("n", "<leader>i", "<cmd>Portal jumplist forward<cr>", { desc = "Portal: Jump forward" })
|
||||||
|
|
||||||
-- Changelist navigation
|
-- Changelist navigation
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>po",
|
"<leader>po",
|
||||||
"<cmd>Portal changelist backward<cr>",
|
"<cmd>Portal changelist backward<cr>",
|
||||||
{ desc = "Portal: Jump backward (changelist)" }
|
{ desc = "Portal: Jump backward (changelist)" }
|
||||||
)
|
)
|
||||||
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>pi",
|
"<leader>pi",
|
||||||
"<cmd>Portal changelist forward<cr>",
|
"<cmd>Portal changelist forward<cr>",
|
||||||
{ desc = "Portal: Jump forward (changelist)" }
|
{ desc = "Portal: Jump forward (changelist)" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Quickfix navigation
|
-- Quickfix navigation
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>qo",
|
"<leader>qo",
|
||||||
"<cmd>Portal quickfix backward<cr>",
|
"<cmd>Portal quickfix backward<cr>",
|
||||||
{ desc = "Portal: Jump backward (quickfix)" }
|
{ desc = "Portal: Jump backward (quickfix)" }
|
||||||
)
|
)
|
||||||
|
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>qi",
|
"<leader>qi",
|
||||||
"<cmd>Portal quickfix forward<cr>",
|
"<cmd>Portal quickfix forward<cr>",
|
||||||
{ desc = "Portal: Jump forward (quickfix)" }
|
{ desc = "Portal: Jump forward (quickfix)" }
|
||||||
)
|
)
|
||||||
|
|
||||||
-- Optional: Harpoon integration
|
-- Optional: Harpoon integration
|
||||||
vim.keymap.set(
|
vim.keymap.set(
|
||||||
"n",
|
"n",
|
||||||
"<leader>ho",
|
"<leader>ho",
|
||||||
"<cmd>Portal harpoon backward<cr>",
|
"<cmd>Portal harpoon backward<cr>",
|
||||||
{ desc = "Portal: Jump backward (harpoon)" }
|
{ desc = "Portal: Jump backward (harpoon)" }
|
||||||
)
|
)
|
||||||
|
|
||||||
vim.keymap.set(
|
vim.keymap.set("n", "<leader>hi", "<cmd>Portal harpoon forward<cr>", { desc = "Portal: Jump forward (harpoon)" })
|
||||||
"n",
|
end,
|
||||||
"<leader>hi",
|
keys = {
|
||||||
"<cmd>Portal harpoon forward<cr>",
|
{ "<leader>u", desc = "Portal: Jump backward" },
|
||||||
{ desc = "Portal: Jump forward (harpoon)" }
|
{ "<leader>i", desc = "Portal: Jump forward" },
|
||||||
)
|
},
|
||||||
end,
|
},
|
||||||
keys = {
|
|
||||||
{ "<leader>u", desc = "Portal: Jump backward" },
|
|
||||||
{ "<leader>i", desc = "Portal: Jump forward" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- r-nvim.lua: Provides R language support (syntax, LSP, and tools) within Neovim.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"R-nvim/R.nvim",
|
"R-nvim/R.nvim",
|
||||||
lazy = false, -- load immediately
|
lazy = false, -- load immediately
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- rainbow.lua: Colors nested brackets/parentheses to visually distinguish levels.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"HiPhish/rainbow-delimiters.nvim",
|
"HiPhish/rainbow-delimiters.nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- render-markdown.lua: Live previews or syntax enhancements for Markdown files.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"MeanderingProgrammer/render-markdown.nvim",
|
"MeanderingProgrammer/render-markdown.nvim",
|
||||||
|
|||||||
99
nvim/.config/nvim/lua/plugins/snacks.lua
Normal file
99
nvim/.config/nvim/lua/plugins/snacks.lua
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
-- snacks.lua: Minimal UI notifications for background tasks (e.g., LSP, file ops).
|
||||||
|
|
||||||
|
return {
|
||||||
|
"folke/snacks.nvim",
|
||||||
|
priority = 1000,
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
bigfile = { enabled = true },
|
||||||
|
notifier = { enabled = true, timeout = 3000 },
|
||||||
|
quickfile = { enabled = true },
|
||||||
|
statuscolumn = { enabled = true },
|
||||||
|
words = { enabled = true },
|
||||||
|
scratch = { enabled = true, ft = "lua" },
|
||||||
|
zen = { enabled = true },
|
||||||
|
git = { enabled = true }, -- issue / PR / blame pickers
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
-- github
|
||||||
|
{
|
||||||
|
"<leader>gi",
|
||||||
|
function()
|
||||||
|
Snacks.picker.gh_issue({ state = "open" })
|
||||||
|
end,
|
||||||
|
desc = "GitHub issues (open)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>gI",
|
||||||
|
function()
|
||||||
|
Snacks.picker.gh_issue({ state = "all" })
|
||||||
|
end,
|
||||||
|
desc = "GitHub issues (all)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>gp",
|
||||||
|
function()
|
||||||
|
Snacks.picker.gh_pr({ state = "open" })
|
||||||
|
end,
|
||||||
|
desc = "GitHub PRs (open)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>gP",
|
||||||
|
function()
|
||||||
|
Snacks.picker.gh_pr({ state = "all" })
|
||||||
|
end,
|
||||||
|
desc = "GitHub PRs (all)",
|
||||||
|
},
|
||||||
|
-- grep / nav
|
||||||
|
{
|
||||||
|
"<leader>sb",
|
||||||
|
function()
|
||||||
|
Snacks.picker.lines()
|
||||||
|
end,
|
||||||
|
desc = "Buffer lines",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>sB",
|
||||||
|
function()
|
||||||
|
Snacks.picker.grep_buffers()
|
||||||
|
end,
|
||||||
|
desc = "Grep open buffers",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>sg",
|
||||||
|
function()
|
||||||
|
Snacks.picker.grep()
|
||||||
|
end,
|
||||||
|
desc = "Live grep",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>sw",
|
||||||
|
function()
|
||||||
|
Snacks.picker.grep_word()
|
||||||
|
end,
|
||||||
|
desc = "Grep word",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>s"',
|
||||||
|
function()
|
||||||
|
Snacks.picker.registers()
|
||||||
|
end,
|
||||||
|
desc = "Registers",
|
||||||
|
},
|
||||||
|
-- zen / scratch
|
||||||
|
{
|
||||||
|
"<leader>z",
|
||||||
|
function()
|
||||||
|
Snacks.zen()
|
||||||
|
end,
|
||||||
|
desc = "Zen mode",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader><leader>s",
|
||||||
|
function()
|
||||||
|
Snacks.scratch()
|
||||||
|
end,
|
||||||
|
desc = "Scratch buffer",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- telescope.lua: Highly extensible fuzzy finder for files, code, and plugins.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope-ui-select.nvim",
|
"nvim-telescope/telescope-ui-select.nvim",
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"folke/tokyonight.nvim",
|
|
||||||
lazy = false,
|
|
||||||
priority = 1000,
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- treesitter.lua: Enables syntax highlighting, code folding, and structural analysis.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- trouble.lua: Aggregates diagnostics, references, and code issues into a single panel.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- vimtex.lua: Full LaTeX editing support (compiling, viewing, and syntax).
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"lervag/vimtex",
|
"lervag/vimtex",
|
||||||
ft = "tex",
|
ft = "tex",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- which-key.lua: Displays keybinding hints for uncompleted commands to reduce memorization.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
-- yazi-nvim.lua: Bridges Neovim with Yazi file manager for fast directory navigation.
|
||||||
|
|
||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"mikavilpas/yazi.nvim",
|
"mikavilpas/yazi.nvim",
|
||||||
|
|||||||
35
scripts/scripts/abook.sh
Executable file
35
scripts/scripts/abook.sh
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Automatically learn email addresses from sent/received mail
|
||||||
|
|
||||||
|
ABOOK_FILE="$HOME/.abook/addressbook"
|
||||||
|
mkdir -p "$HOME/.abook"
|
||||||
|
touch "$ABOOK_FILE"
|
||||||
|
|
||||||
|
# Extract all email addresses from notmuch database
|
||||||
|
notmuch address --output=sender --output=recipients '*' |
|
||||||
|
sort -u |
|
||||||
|
while read -r email; do
|
||||||
|
# Check if email is already in abook
|
||||||
|
if ! grep -q "$email" "$ABOOK_FILE" 2>/dev/null; then
|
||||||
|
# Extract name and email
|
||||||
|
if [[ $email =~ ^(.+)\<(.+)\>$ ]]; then
|
||||||
|
NAME="${BASH_REMATCH[1]}"
|
||||||
|
EMAIL="${BASH_REMATCH[2]}"
|
||||||
|
else
|
||||||
|
NAME=""
|
||||||
|
EMAIL="$email"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add to abook (skip if already exists)
|
||||||
|
echo "[format]
|
||||||
|
program=abook
|
||||||
|
version=0.6.1
|
||||||
|
|
||||||
|
[0]
|
||||||
|
name=$NAME
|
||||||
|
email=$EMAIL
|
||||||
|
" >>"$ABOOK_FILE"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Address book updated: $(grep -c '^\[' "$ABOOK_FILE") entries"
|
||||||
25
scripts/scripts/fzf-address.sh
Executable file
25
scripts/scripts/fzf-address.sh
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Fuzzy find email addresses with fzf
|
||||||
|
|
||||||
|
QUERY="$1"
|
||||||
|
|
||||||
|
# Get all addresses from notmuch
|
||||||
|
ADDRESSES=$(notmuch address --output=sender --output=recipients \
|
||||||
|
--deduplicate=address '*' | sort -u)
|
||||||
|
|
||||||
|
# If query is provided, pre-filter
|
||||||
|
if [ -n "$QUERY" ]; then
|
||||||
|
ADDRESSES=$(echo "$ADDRESSES" | grep -i "$QUERY")
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Use fzf for selection
|
||||||
|
SELECTED=$(echo "$ADDRESSES" | fzf \
|
||||||
|
--height=40% \
|
||||||
|
--layout=reverse \
|
||||||
|
--border \
|
||||||
|
--prompt="Select recipient: " \
|
||||||
|
--preview="" \
|
||||||
|
--query="$QUERY")
|
||||||
|
|
||||||
|
# Output selected address
|
||||||
|
echo "$SELECTED"
|
||||||
0
scripts/scripts/mail
Normal file
0
scripts/scripts/mail
Normal file
@@ -1,57 +0,0 @@
|
|||||||
/* * { */
|
|
||||||
/* font-family: "CaskaydiaCove Nerd Font", monospace; */
|
|
||||||
/* font-size: 18px; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
window {
|
|
||||||
margin: 0px;
|
|
||||||
border: 1px solid #bd93f9;
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: #282a36;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
color: #f8f8f2;
|
|
||||||
background-color: #44475a;
|
|
||||||
}
|
|
||||||
|
|
||||||
#inner-box {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
background-color: #282a36;
|
|
||||||
}
|
|
||||||
|
|
||||||
#outer-box {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
background-color: #282a36;
|
|
||||||
}
|
|
||||||
|
|
||||||
#scroll {
|
|
||||||
margin: 0px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#text {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
color: #f8f8f2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry.activatable #text {
|
|
||||||
color: #282a36;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry > * {
|
|
||||||
color: #f8f8f2;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry:selected {
|
|
||||||
background-color: #44475a;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry:selected #text {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
1
wofi/.config/wofi/style.css
Symbolic link
1
wofi/.config/wofi/style.css
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/liph/.config/wofi/themes/rose-pine-moon.css
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
@import "theme.css";
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: "CaskaydiaCove Nerd Font", monospace;
|
|
||||||
font-size: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Window */
|
|
||||||
window {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 10px;
|
|
||||||
border: 2px solid @lavender;
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Inner Box */
|
|
||||||
#inner-box {
|
|
||||||
margin: 5px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Outer Box */
|
|
||||||
#outer-box {
|
|
||||||
margin: 5px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Scroll */
|
|
||||||
#scroll {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Input */
|
|
||||||
#input {
|
|
||||||
margin: 5px 20px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.1em;
|
|
||||||
color: @text;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input image {
|
|
||||||
border: none;
|
|
||||||
color: @red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input * {
|
|
||||||
outline: 4px solid @red!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text */
|
|
||||||
#text {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
color: @text;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry {
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry arrow {
|
|
||||||
border: none;
|
|
||||||
color: @lavender;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Selected Entry */
|
|
||||||
#entry:selected {
|
|
||||||
border: 0.11em solid @lavender;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry:selected #text {
|
|
||||||
color: @mauve;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry:drop(active) {
|
|
||||||
background-color: @lavender!important;
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
window {
|
window {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
background-color: #232136;
|
background-color: #232136;
|
||||||
border-radius: 0px;
|
border-radius: 10px;
|
||||||
border: 2px solid #eb6f92;
|
border: 2px solid #c4a7e7;
|
||||||
color: #e0def4;
|
color: #e0def4;
|
||||||
font-family: "Monofur Nerd Font";
|
font-family: "Monofur Nerd Font";
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
@@ -10,10 +10,10 @@ window {
|
|||||||
|
|
||||||
#input {
|
#input {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border-radius: 0px;
|
border-radius: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0px;
|
border-radius: 10px;
|
||||||
color: #eb6f92;
|
color: #c4a7e7;
|
||||||
background-color: #393552;
|
background-color: #393552;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ window {
|
|||||||
border: none;
|
border: none;
|
||||||
background-color: #393552;
|
background-color: #393552;
|
||||||
color: #232136;
|
color: #232136;
|
||||||
border-radius: 0px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#outer-box {
|
#outer-box {
|
||||||
@@ -43,15 +43,15 @@ window {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected {
|
#entry:selected {
|
||||||
background-color: #eb6f92;
|
background-color: #eba0ac;
|
||||||
color: #232136;
|
color: #232136;
|
||||||
border-radius: 0px;
|
border-radius: 5px;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected * {
|
#entry:selected * {
|
||||||
background-color: #eb6f92;
|
background-color: #eba0ac;
|
||||||
color: #232136;
|
color: #232136;
|
||||||
border-radius: 0px;
|
border-radius: 5px;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,13 @@
|
|||||||
-- Change this to switch themes
|
-- Change this to switch themes
|
||||||
local THEME = "carbonfox"
|
local THEME = "rose_pine"
|
||||||
|
|
||||||
local theme_colors = {
|
local theme_colors = {
|
||||||
|
rose_pine = {
|
||||||
|
primary = "#c4a7e7", -- iris/mauve (purple-like color from rose-pine palette)
|
||||||
|
secondary = "#6e6a86", -- muted/subtle (comparable to comment/gray colors)
|
||||||
|
yanked = "#9ccfd8", -- foam (cyan-like accent color)
|
||||||
|
cut = "#eb6f92", -- love (red-like accent color)
|
||||||
|
},
|
||||||
carbonfox = {
|
carbonfox = {
|
||||||
primary = "#78a9ff",
|
primary = "#78a9ff",
|
||||||
secondary = "#525252",
|
secondary = "#525252",
|
||||||
@@ -26,6 +32,36 @@ local theme_colors = {
|
|||||||
yanked = "#94e2d5",
|
yanked = "#94e2d5",
|
||||||
cut = "#f38ba8",
|
cut = "#f38ba8",
|
||||||
},
|
},
|
||||||
|
dracula = {
|
||||||
|
primary = "#bd93f9", -- purple
|
||||||
|
secondary = "#6272a4", -- comment
|
||||||
|
yanked = "#8be9fd", -- cyan
|
||||||
|
cut = "#ff5555", -- red
|
||||||
|
},
|
||||||
|
everforest = {
|
||||||
|
primary = "#7fbbb3", -- aqua
|
||||||
|
secondary = "#859289", -- gray
|
||||||
|
yanked = "#a7c080", -- green
|
||||||
|
cut = "#e67e80", -- red
|
||||||
|
},
|
||||||
|
gruvbox = {
|
||||||
|
primary = "#7daea3", -- aqua
|
||||||
|
secondary = "#7c6f64", -- gray
|
||||||
|
yanked = "#a9b665", -- green
|
||||||
|
cut = "#ea6962", -- red
|
||||||
|
},
|
||||||
|
nightfox = {
|
||||||
|
primary = "#719cd6", -- blue
|
||||||
|
secondary = "#738091", -- comment
|
||||||
|
yanked = "#63cdcf", -- cyan
|
||||||
|
cut = "#c94f6d", -- red
|
||||||
|
},
|
||||||
|
onedark = {
|
||||||
|
primary = "#61afef", -- blue
|
||||||
|
secondary = "#5c6370", -- gray
|
||||||
|
yanked = "#56b6c2", -- cyan
|
||||||
|
cut = "#e06c75", -- red
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local c = theme_colors[THEME]
|
local c = theme_colors[THEME]
|
||||||
@@ -53,10 +89,9 @@ require("yaziline"):setup({
|
|||||||
filename_truncate_separator = "...",
|
filename_truncate_separator = "...",
|
||||||
})
|
})
|
||||||
|
|
||||||
-- require("recycle-bin")
|
require("recycle-bin"):setup({
|
||||||
-- setup({
|
trash_dir = "~/.local/share/Trash/",
|
||||||
-- trash_dir = "~/.local/share/Trash/",
|
})
|
||||||
-- })
|
|
||||||
|
|
||||||
require("omp"):setup({ config = "/home/liph/.config/yazi/omp/omp.toml" })
|
require("omp"):setup({ config = "/home/liph/.config/yazi/omp/omp.toml" })
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ local FILES = {
|
|||||||
["cargo.lock"] = "application/json",
|
["cargo.lock"] = "application/json",
|
||||||
["flake.lock"] = "application/json",
|
["flake.lock"] = "application/json",
|
||||||
license = "text/plain",
|
license = "text/plain",
|
||||||
|
config ="text/plain",
|
||||||
}
|
}
|
||||||
|
|
||||||
local EXTS = {
|
local EXTS = {
|
||||||
@@ -149,6 +150,7 @@ local EXTS = {
|
|||||||
cod = "application/rim.cod",
|
cod = "application/rim.cod",
|
||||||
com = "application/msdownload",
|
com = "application/msdownload",
|
||||||
conf = "text/plain",
|
conf = "text/plain",
|
||||||
|
config ="text/plain",
|
||||||
cpio = "application/cpio",
|
cpio = "application/cpio",
|
||||||
cpp = "text/c",
|
cpp = "text/c",
|
||||||
cpt = "application/mac-compactpro",
|
cpt = "application/mac-compactpro",
|
||||||
@@ -845,6 +847,7 @@ local EXTS = {
|
|||||||
tif = "image/tiff",
|
tif = "image/tiff",
|
||||||
tiff = "image/tiff",
|
tiff = "image/tiff",
|
||||||
tmo = "application/tmobile-livetv",
|
tmo = "application/tmobile-livetv",
|
||||||
|
tmTheme = "text/plain",
|
||||||
toml = "text/toml",
|
toml = "text/toml",
|
||||||
torrent = "application/bittorrent",
|
torrent = "application/bittorrent",
|
||||||
tpl = "application/groove-tool-template",
|
tpl = "application/groove-tool-template",
|
||||||
|
|||||||
1
yazi/.config/yazi/tags/home/liph/Downloads/tags.json
Normal file
1
yazi/.config/yazi/tags/home/liph/Downloads/tags.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"\\x62\\x61\\x63\\x6B\\x75\\x70\\x2D\\x4C\\x69\\x70\\x68\\x52\\x6F\\x6F\\x74\\x2D\\x32\\x30\\x32\\x35\\x2D\\x30\\x35\\x2D\\x33\\x31\\x2E\\x74\\x61\\x72\\x2E\\x67\\x7A":["\\x31"]}
|
||||||
72
yazi/.config/yazi/themes/gruvbox-mat.toml
Normal file
72
yazi/.config/yazi/themes/gruvbox-mat.toml
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
# Gruvbox Material Dark theme for Yazi
|
||||||
|
# Based on https://github.com/sainnhe/gruvbox-material
|
||||||
|
|
||||||
|
[manager]
|
||||||
|
cwd = { fg = "#d8a657" } # yellow
|
||||||
|
|
||||||
|
# Hovered
|
||||||
|
hovered = { fg = "#282828", bg = "#a9b665" } # green background
|
||||||
|
preview_hovered = { underline = true }
|
||||||
|
|
||||||
|
# Find
|
||||||
|
find_keyword = { fg = "#282828", bg = "#d8a657" } # yellow
|
||||||
|
find_position = { fg = "#282828", bg = "#7daea3" } # aqua
|
||||||
|
|
||||||
|
# Marker
|
||||||
|
marker_copied = { fg = "#a9b665", bg = "#a9b665" } # green
|
||||||
|
marker_cut = { fg = "#ea6962", bg = "#ea6962" } # red
|
||||||
|
marker_marked = { fg = "#7daea3", bg = "#7daea3" } # aqua
|
||||||
|
marker_selected = { fg = "#d8a657", bg = "#d8a657" } # yellow
|
||||||
|
|
||||||
|
# Tab
|
||||||
|
tab_active = { fg = "#282828", bg = "#a9b665" } # green
|
||||||
|
tab_inactive = { fg = "#d4be98", bg = "#3c3836" } # fg on bg1
|
||||||
|
tab_width = 1
|
||||||
|
|
||||||
|
# Count
|
||||||
|
count_copied = { fg = "#282828", bg = "#a9b665" } # green
|
||||||
|
count_cut = { fg = "#282828", bg = "#ea6962" } # red
|
||||||
|
count_selected = { fg = "#282828", bg = "#7daea3" } # aqua
|
||||||
|
|
||||||
|
# Border
|
||||||
|
border_symbol = "│"
|
||||||
|
border_style = { fg = "#504945" } # bg2
|
||||||
|
|
||||||
|
# Syntect theme for preview
|
||||||
|
syntect_theme = "~/.config/yazi/Gruvbox-Material-Dark.tmTheme"
|
||||||
|
|
||||||
|
[status]
|
||||||
|
separator_open = ""
|
||||||
|
separator_close = ""
|
||||||
|
separator_style = { fg = "#504945", bg = "#504945" } # bg2
|
||||||
|
|
||||||
|
# Mode
|
||||||
|
mode_normal = { fg = "#282828", bg = "#7daea3", bold = true } # aqua
|
||||||
|
mode_select = { fg = "#282828", bg = "#d8a657", bold = true } # yellow
|
||||||
|
mode_unset = { fg = "#282828", bg = "#ea6962", bold = true } # red
|
||||||
|
|
||||||
|
# Progress
|
||||||
|
progress_label = { fg = "#d4be98", bold = true } # fg
|
||||||
|
progress_normal = { fg = "#7daea3", bg = "#3c3836" } # aqua on bg1
|
||||||
|
progress_error = { fg = "#ea6962", bg = "#3c3836" } # red on bg1
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
permissions_t = { fg = "#a9b665" } # green
|
||||||
|
permissions_r = { fg = "#d8a657" } # yellow
|
||||||
|
permissions_w = { fg = "#ea6962" } # red
|
||||||
|
permissions_x = { fg = "#7daea3" } # aqua
|
||||||
|
permissions_s = { fg = "#504945" } # bg2
|
||||||
|
|
||||||
|
[input]
|
||||||
|
border = { fg = "#7daea3" } # aqua
|
||||||
|
title = { fg = "#d4be98" } # fg
|
||||||
|
value = { fg = "#d4be98" } # fg
|
||||||
|
selected = { reversed = true }
|
||||||
|
|
||||||
|
[select]
|
||||||
|
border = { fg = "#7daea3" } # aqua
|
||||||
|
active = { fg = "#d8a657" } # yellow
|
||||||
|
inactive = { fg = "#7c6f64" } # bg3
|
||||||
|
|
||||||
|
[completion]
|
||||||
|
border = { fg = "#7daea3" } # aqua
|
||||||
@@ -1,650 +1,72 @@
|
|||||||
[icon]
|
# Gruvbox Material Dark theme for Yazi
|
||||||
files = [
|
# Based on https://github.com/sainnhe/gruvbox-material
|
||||||
{ name = ".babelrc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = ".bash_profile", text = "", fg = "#f6c177" },
|
[manager]
|
||||||
{ name = ".bashrc", text = "", fg = "#f6c177" },
|
cwd = { fg = "#d8a657" } # yellow
|
||||||
{ name = ".clang-format", text = "", fg = "#6e6a86" },
|
|
||||||
{ name = ".clang-tidy", text = "", fg = "#6e6a86" },
|
# Hovered
|
||||||
{ name = ".codespellrc", text = "", fg = "#f6c177" },
|
hovered = { fg = "#282828", bg = "#a9b665" } # green background
|
||||||
{ name = ".condarc", text = "", fg = "#f6c177" },
|
preview_hovered = { underline = true }
|
||||||
{ name = ".dockerignore", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = ".ds_store", text = "", fg = "#2a283e" },
|
# Find
|
||||||
{ name = ".editorconfig", text = "", fg = "#e0def4" },
|
find_keyword = { fg = "#282828", bg = "#d8a657" } # yellow
|
||||||
{ name = ".env", text = "", fg = "#f6c177" },
|
find_position = { fg = "#282828", bg = "#7daea3" } # aqua
|
||||||
{ name = ".eslintignore", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = ".eslintrc", text = "", fg = "#3e8fb0" },
|
# Marker
|
||||||
{ name = ".git-blame-ignore-revs", text = "", fg = "#eb6f92" },
|
marker_copied = { fg = "#a9b665", bg = "#a9b665" } # green
|
||||||
{ name = ".gitattributes", text = "", fg = "#eb6f92" },
|
marker_cut = { fg = "#ea6962", bg = "#ea6962" } # red
|
||||||
{ name = ".gitconfig", text = "", fg = "#eb6f92" },
|
marker_marked = { fg = "#7daea3", bg = "#7daea3" } # aqua
|
||||||
{ name = ".gitignore", text = "", fg = "#eb6f92" },
|
marker_selected = { fg = "#d8a657", bg = "#d8a657" } # yellow
|
||||||
{ name = ".gitlab-ci.yml", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = ".gitmodules", text = "", fg = "#eb6f92" },
|
# Tab
|
||||||
{ name = ".gtkrc-2.0", text = "", fg = "#e0def4" },
|
tab_active = { fg = "#282828", bg = "#a9b665" } # green
|
||||||
{ name = ".gvimrc", text = "", fg = "#f6c177" },
|
tab_inactive = { fg = "#d4be98", bg = "#3c3836" } # fg on bg1
|
||||||
{ name = ".justfile", text = "", fg = "#e0def4" },
|
tab_width = 1
|
||||||
{ name = ".luacheckrc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = ".luaurc", text = "", fg = "#3e8fb0" },
|
# Count
|
||||||
{ name = ".mailmap", text = "", fg = "#eb6f92" },
|
count_copied = { fg = "#282828", bg = "#a9b665" } # green
|
||||||
{ name = ".nanorc", text = "", fg = "#3e8fb0" },
|
count_cut = { fg = "#282828", bg = "#ea6962" } # red
|
||||||
{ name = ".npmignore", text = "", fg = "#eb6f92" },
|
count_selected = { fg = "#282828", bg = "#7daea3" } # aqua
|
||||||
{ name = ".npmrc", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = ".nuxtrc", text = "", fg = "#f6c177" },
|
# Border
|
||||||
{ name = ".nvmrc", text = "", fg = "#f6c177" },
|
border_symbol = "│"
|
||||||
{ name = ".pre-commit-config.yaml", text = "", fg = "#f6c177" },
|
border_style = { fg = "#504945" } # bg2
|
||||||
{ name = ".prettierignore", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = ".prettierrc", text = "", fg = "#3e8fb0" },
|
# Syntect theme for preview
|
||||||
{ name = ".prettierrc.cjs", text = "", fg = "#3e8fb0" },
|
syntect_theme = "~/.config/yazi/Gruvbox-Material-Dark.tmTheme"
|
||||||
{ name = ".prettierrc.js", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = ".prettierrc.json", text = "", fg = "#3e8fb0" },
|
[status]
|
||||||
{ name = ".prettierrc.json5", text = "", fg = "#3e8fb0" },
|
separator_open = ""
|
||||||
{ name = ".prettierrc.mjs", text = "", fg = "#3e8fb0" },
|
separator_close = ""
|
||||||
{ name = ".prettierrc.toml", text = "", fg = "#3e8fb0" },
|
separator_style = { fg = "#504945", bg = "#504945" } # bg2
|
||||||
{ name = ".prettierrc.yaml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = ".prettierrc.yml", text = "", fg = "#3e8fb0" },
|
# Mode
|
||||||
{ name = ".pylintrc", text = "", fg = "#e0def4" },
|
mode_normal = { fg = "#282828", bg = "#7daea3", bold = true } # aqua
|
||||||
{ name = ".settings.json", text = "", fg = "#3e8fb0" },
|
mode_select = { fg = "#282828", bg = "#d8a657", bold = true } # yellow
|
||||||
{ name = ".SRCINFO", text = "", fg = "#3e8fb0" },
|
mode_unset = { fg = "#282828", bg = "#ea6962", bold = true } # red
|
||||||
{ name = ".vimrc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = ".Xauthority", text = "", fg = "#eb6f92" },
|
# Progress
|
||||||
{ name = ".xinitrc", text = "", fg = "#eb6f92" },
|
progress_label = { fg = "#d4be98", bold = true } # fg
|
||||||
{ name = ".Xresources", text = "", fg = "#eb6f92" },
|
progress_normal = { fg = "#7daea3", bg = "#3c3836" } # aqua on bg1
|
||||||
{ name = ".xsession", text = "", fg = "#eb6f92" },
|
progress_error = { fg = "#ea6962", bg = "#3c3836" } # red on bg1
|
||||||
{ name = ".zprofile", text = "", fg = "#f6c177" },
|
|
||||||
{ name = ".zshenv", text = "", fg = "#f6c177" },
|
# Permissions
|
||||||
{ name = ".zshrc", text = "", fg = "#f6c177" },
|
permissions_t = { fg = "#a9b665" } # green
|
||||||
{ name = "_gvimrc", text = "", fg = "#f6c177" },
|
permissions_r = { fg = "#d8a657" } # yellow
|
||||||
{ name = "_vimrc", text = "", fg = "#f6c177" },
|
permissions_w = { fg = "#ea6962" } # red
|
||||||
{ name = "AUTHORS", text = "", fg = "#3e8fb0" },
|
permissions_x = { fg = "#7daea3" } # aqua
|
||||||
{ name = "AUTHORS.txt", text = "", fg = "#3e8fb0" },
|
permissions_s = { fg = "#504945" } # bg2
|
||||||
{ name = "brewfile", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "bspwmrc", text = "", fg = "#232136" },
|
[input]
|
||||||
{ name = "build", text = "", fg = "#f6c177" },
|
border = { fg = "#7daea3" } # aqua
|
||||||
{ name = "build.gradle", text = "", fg = "#3e8fb0" },
|
title = { fg = "#d4be98" } # fg
|
||||||
{ name = "build.zig.zon", text = "", fg = "#f6c177" },
|
value = { fg = "#d4be98" } # fg
|
||||||
{ name = "bun.lockb", text = "", fg = "#e0def4" },
|
selected = { reversed = true }
|
||||||
{ name = "cantorrc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "checkhealth", text = "", fg = "#3e8fb0" },
|
[select]
|
||||||
{ name = "cmakelists.txt", text = "", fg = "#e0def4" },
|
border = { fg = "#7daea3" } # aqua
|
||||||
{ name = "code_of_conduct", text = "", fg = "#eb6f92" },
|
active = { fg = "#d8a657" } # yellow
|
||||||
{ name = "code_of_conduct.md", text = "", fg = "#eb6f92" },
|
inactive = { fg = "#7c6f64" } # bg3
|
||||||
{ name = "commit_editmsg", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "commitlint.config.js", text = "", fg = "#3e8fb0" },
|
[completion]
|
||||||
{ name = "commitlint.config.ts", text = "", fg = "#3e8fb0" },
|
border = { fg = "#7daea3" } # aqua
|
||||||
{ name = "compose.yaml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "compose.yml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "config", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "containerfile", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "copying", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "copying.lesser", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "Directory.Build.props", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "Directory.Build.targets", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "Directory.Packages.props", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "docker-compose.yaml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "docker-compose.yml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "dockerfile", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "eslint.config.cjs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "eslint.config.js", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "eslint.config.mjs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "eslint.config.ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ext_typoscript_setup.txt", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "favicon.ico", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "fp-info-cache", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "fp-lib-table", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "FreeCAD.conf", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "Gemfile", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gnumakefile", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "go.mod", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "go.sum", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "go.work", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gradle-wrapper.properties", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gradle.properties", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gradlew", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "groovy", text = "", fg = "#6e6a86" },
|
|
||||||
{ name = "gruntfile.babel.js", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "gruntfile.coffee", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "gruntfile.js", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "gruntfile.ts", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "gtkrc", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "gulpfile.babel.js", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gulpfile.coffee", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gulpfile.js", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gulpfile.ts", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "hypridle.conf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "hyprland.conf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "hyprlock.conf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "hyprpaper.conf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "i18n.config.js", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "i18n.config.ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "i3blocks.conf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "i3status.conf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "index.theme", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ionic.config.json", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "justfile", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kalgebrarc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kdeglobals", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kdenlive-layoutsrc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kdenliverc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kritadisplayrc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kritarc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "license", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "license.md", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "lxde-rc.xml", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "lxqt.conf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "makefile", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "mix.lock", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "mpv.conf", text = "", fg = "#393552" },
|
|
||||||
{ name = "node_modules", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "nuxt.config.cjs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "nuxt.config.js", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "nuxt.config.mjs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "nuxt.config.ts", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "package-lock.json", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "package.json", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "PKGBUILD", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "platformio.ini", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pom.xml", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "prettier.config.cjs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "prettier.config.js", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "prettier.config.mjs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "prettier.config.ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "procfile", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "PrusaSlicer.ini", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "PrusaSlicerGcodeViewer.ini", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "py.typed", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "QtProject.conf", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "rakefile", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "readme", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "readme.md", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "rmd", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "robots.txt", text = "", fg = "#6e6a86" },
|
|
||||||
{ name = "security", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "security.md", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "settings.gradle", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "svelte.config.js", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "sxhkdrc", text = "", fg = "#232136" },
|
|
||||||
{ name = "sym-lib-table", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "tailwind.config.js", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tailwind.config.mjs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tailwind.config.ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tmux.conf", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "tmux.conf.local", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "tsconfig.json", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "unlicense", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vagrantfile", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "vercel.json", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "vlcrc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "webpack", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "weston.ini", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "workspace", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "xmobarrc", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "xmobarrc.hs", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "xmonad.hs", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "xorg.conf", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "xsettingsd.conf", text = "", fg = "#eb6f92" },
|
|
||||||
]
|
|
||||||
exts = [
|
|
||||||
{ name = "3gp", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "3mf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "7z", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "a", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "aac", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "adb", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ads", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "ai", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "aif", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "aiff", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "android", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ape", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "apk", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "apl", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "app", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "applescript", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "asc", text = "", fg = "#6e6a86" },
|
|
||||||
{ name = "asm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ass", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "astro", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "avif", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "awk", text = "", fg = "#232136" },
|
|
||||||
{ name = "azcli", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "bak", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "bash", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bat", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bazel", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bib", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bicep", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "bicepparam", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "bin", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "blade.php", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "blend", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "blp", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "bmp", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "bqn", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "brep", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "bz", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bz2", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bz3", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "bzl", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "c", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "c++", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "cache", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "cast", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "cbl", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cc", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "ccm", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "cfg", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "cjs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "clj", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "cljc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "cljd", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cljs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cmake", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "cob", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cobol", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "coffee", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "conda", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "conf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "config.ru", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "cow", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "cp", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cpp", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cppm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cpy", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cr", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "crdownload", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "csh", text = "", fg = "#232136" },
|
|
||||||
{ name = "cshtml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cson", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "csproj", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "css", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "csv", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "cts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cu", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "cue", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "cuh", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "cxx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "cxxm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "d", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "d.ts", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "dart", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "db", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "dconf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "desktop", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "diff", text = "", fg = "#232136" },
|
|
||||||
{ name = "dll", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "doc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "Dockerfile", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "docx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "dot", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "download", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "drl", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "dropbox", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "dump", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "dwg", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "dxf", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "ebook", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ebuild", text = "", fg = "#393552" },
|
|
||||||
{ name = "edn", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "eex", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "ejs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "el", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "elc", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "elf", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "elm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "eln", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "env", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "eot", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "epp", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "epub", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "erb", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "erl", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "ex", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "exe", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "exs", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "f#", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "f3d", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "f90", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "fbx", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "fcbak", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fcmacro", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fcmat", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fcparam", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fcscript", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fcstd", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fcstd1", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fctb", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fctl", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "fdmdownload", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "feature", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "fish", text = "", fg = "#232136" },
|
|
||||||
{ name = "flac", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "flc", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "flf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "fnl", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "fodg", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "fodp", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "fods", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "fodt", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "fs", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "fsi", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "fsscript", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "fsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gcode", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gd", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "gemspec", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gif", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "git", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "glb", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "gleam", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "gnumakefile", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "go", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "godot", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "gpr", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gql", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gradle", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "graphql", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "gresource", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "gv", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "gz", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "h", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "haml", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "hbs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "heex", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "hex", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "hh", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "hpp", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "hrl", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "hs", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "htm", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "html", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "http", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "huff", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "hurl", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "hx", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "hxx", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "ical", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "icalendar", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ico", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ics", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ifb", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ifc", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "ige", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "iges", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "igs", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "image", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "img", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "import", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "info", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "ini", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "ino", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ipynb", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "iso", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "ixx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "java", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "jl", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "jpeg", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "jpg", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "js", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "json", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "json5", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "jsonc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "jsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "jwmrc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "jxl", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "kbx", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kdb", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "kdbx", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "kdenlive", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kdenlivetitle", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kicad_dru", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_mod", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_pcb", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_prl", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_pro", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_sch", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_sym", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kicad_wks", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "ko", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kpp", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kra", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "krz", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ksh", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "kt", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "kts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "lck", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "leex", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "less", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "lff", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "lhs", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "lib", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "license", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "liquid", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "lock", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "log", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "lrc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "lua", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "luac", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "luau", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "m", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "m3u", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "m3u8", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "m4a", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "m4v", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "magnet", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "makefile", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "markdown", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "material", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "md", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "md5", text = "", fg = "#908caa" },
|
|
||||||
{ name = "mdx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mint", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mjs", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "mk", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "mkv", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ml", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "mli", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "mm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mo", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mobi", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "mojo", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "mov", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "mp3", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mp4", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "mpp", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "msf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "mustache", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "nfo", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "nim", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "nix", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "norg", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "nswag", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "nu", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "o", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "obj", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "odf", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "odg", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "odin", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "odp", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ods", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "odt", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "oga", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ogg", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ogv", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ogx", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "opus", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "org", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "otf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "out", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "part", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "patch", text = "", fg = "#232136" },
|
|
||||||
{ name = "pck", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "pcm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pdf", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "php", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "pl", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pls", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "ply", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "pm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "png", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "po", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pot", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pp", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ppt", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "pptx", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "prisma", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pro", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ps1", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "psb", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "psd", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "psd1", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "psm1", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pub", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pxd", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pxi", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "py", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pyc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pyd", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pyi", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pyo", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "pyw", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "pyx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "qm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "qml", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "qrc", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "qss", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "query", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "r", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "R", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "rake", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "rar", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "razor", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "rb", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "res", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "resi", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "rlib", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "rmd", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "rproj", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "rs", text = "", fg = "#ea9a97" },
|
|
||||||
{ name = "rss", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "s", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "sass", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "sbt", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "sc", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "scad", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "scala", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "scm", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "scss", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "sh", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "sha1", text = "", fg = "#908caa" },
|
|
||||||
{ name = "sha224", text = "", fg = "#908caa" },
|
|
||||||
{ name = "sha256", text = "", fg = "#908caa" },
|
|
||||||
{ name = "sha384", text = "", fg = "#908caa" },
|
|
||||||
{ name = "sha512", text = "", fg = "#908caa" },
|
|
||||||
{ name = "sig", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "signature", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "skp", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "sldasm", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "sldprt", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "slim", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "sln", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "slnx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "slvs", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "sml", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "so", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "sol", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "spec.js", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "spec.jsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "spec.ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "spec.tsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "spx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "sql", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "sqlite", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "sqlite3", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "srt", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ssa", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ste", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "step", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "stl", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "stp", text = "", fg = "#9ccfd8" },
|
|
||||||
{ name = "strings", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "styl", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "sub", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "sublime", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "suo", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "sv", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "svelte", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "svg", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "svh", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "swift", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "t", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tbc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tcl", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "templ", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "terminal", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "test.js", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "test.jsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "test.ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "test.tsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tex", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "tf", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tfvars", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tgz", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "tmux", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "toml", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "torrent", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tres", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "ts", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "tscn", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "tsconfig", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "tsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "ttf", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "twig", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "txt", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "txz", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "typ", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "typoscript", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "ui", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "v", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vala", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "vh", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vhd", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vhdl", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vi", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vim", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "vsh", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "vsix", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "vue", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "wasm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "wav", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "webm", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "webmanifest", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "webp", text = "", fg = "#c4a7e7" },
|
|
||||||
{ name = "webpack", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "wma", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "woff", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "woff2", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "wrl", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "wrz", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "wv", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "wvc", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "x", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "xaml", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "xcf", text = "", fg = "#232136" },
|
|
||||||
{ name = "xcplayground", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "xcstrings", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "xls", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "xlsx", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "xm", text = "", fg = "#3e8fb0" },
|
|
||||||
{ name = "xml", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "xpi", text = "", fg = "#eb6f92" },
|
|
||||||
{ name = "xul", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "xz", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "yaml", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "yml", text = "", fg = "#e0def4" },
|
|
||||||
{ name = "zig", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "zip", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "zsh", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "zst", text = "", fg = "#f6c177" },
|
|
||||||
{ name = "🔥", text = "", fg = "#eb6f92" },
|
|
||||||
]
|
|
||||||
|
|||||||
@@ -3,12 +3,14 @@ alias cld='clear && cd'
|
|||||||
alias neo='neofetch'
|
alias neo='neofetch'
|
||||||
alias f='fuck'
|
alias f='fuck'
|
||||||
alias a='aerc'
|
alias a='aerc'
|
||||||
|
alias oc='opencode'
|
||||||
|
|
||||||
# colorscheme
|
# colorscheme
|
||||||
alias col='bash -c "$(wget -qO- https://git.io/vQgMr)"'
|
alias col='kitten themes'
|
||||||
alias sc='~/scripts/theme-switch'
|
alias sc='~/scripts/theme-switch'
|
||||||
|
|
||||||
# Scripts
|
# Scripts
|
||||||
|
alias br='/home/liph/scripts/niri_br.sh'
|
||||||
alias la='/home/liph/scripts/latex.sh'
|
alias la='/home/liph/scripts/latex.sh'
|
||||||
alias ar='/mnt/tank/scripts/aria.sh'
|
alias ar='/mnt/tank/scripts/aria.sh'
|
||||||
alias sp='/mnt/tank/scripts/split.sh'
|
alias sp='/mnt/tank/scripts/split.sh'
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ export SDL_VIDEODRIVER=wayland
|
|||||||
export CLUTTER_BACKEND=wayland
|
export CLUTTER_BACKEND=wayland
|
||||||
export MOZ_ENABLE_WAYLAND=1
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
|
||||||
|
export PATH="$HOME/.local/share/nvim/mason/bin:$PATH"
|
||||||
|
|
||||||
# Bitwarde
|
# Bitwarde
|
||||||
# export BW_SESSION=$(bw unlock --raw)
|
# export BW_SESSION=$(bw unlock --raw)
|
||||||
|
|
||||||
|
|||||||
@@ -127,3 +127,6 @@ function zvm_after_init() {
|
|||||||
bindkey '^@' autosuggest-accept
|
bindkey '^@' autosuggest-accept
|
||||||
}
|
}
|
||||||
export PATH="$HOME/.local/bin:$PATH"
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
# opencode
|
||||||
|
export PATH=/home/liph/.opencode/bin:$PATH
|
||||||
|
|||||||
Reference in New Issue
Block a user