custom-hypr - up to date
@@ -1,32 +1,24 @@
|
|||||||
set -g default-terminal "tmux-256color"
|
set -g default-terminal "tmux-256color"
|
||||||
set -ag terminal-overrides ",xterm-256color:RGB"
|
set -ag terminal-overrides ",xterm-256color:RGB"
|
||||||
# set -g default-terminal "screen-256color"
|
|
||||||
|
|
||||||
set-option -g focus-events on
|
set-option -g focus-events on
|
||||||
|
|
||||||
set -g prefix C-b
|
# -- general -------------------------------------------------------------------
|
||||||
# unbind C-b
|
|
||||||
bind-key C-b send-prefix
|
|
||||||
|
|
||||||
unbind %
|
|
||||||
bind | split-window -h -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
unbind '"'
|
|
||||||
bind - split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
unbind r
|
|
||||||
bind r source-file ~/.tmux.conf
|
|
||||||
|
|
||||||
bind j resize-pane -D 5
|
|
||||||
bind k resize-pane -U 5
|
|
||||||
bind l resize-pane -R 5
|
|
||||||
bind h resize-pane -L 5
|
|
||||||
|
|
||||||
bind -r m resize-pane -Z
|
|
||||||
|
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
setw -g xterm-keys on
|
||||||
|
set -s escape-time 10 # faster command sequences
|
||||||
|
set -sg repeat-time 500 # increase repeat timeout
|
||||||
|
set -s focus-events on
|
||||||
|
|
||||||
set-window-option -g mode-keys vi
|
set -g prefix2 C-b # GNU-Screen compatible prefix
|
||||||
|
bind C-b send-prefix -2
|
||||||
|
|
||||||
|
set -q -g status-utf8 on # expect UTF-8 (tmux < 2.2)
|
||||||
|
setw -q -g utf8 on
|
||||||
|
|
||||||
|
set -g history-limit 5000 # boost history
|
||||||
|
|
||||||
bind-key -T copy-mode-vi 'v' send -X begin-selection # start selecting text with "v"
|
bind-key -T copy-mode-vi 'v' send -X begin-selection # start selecting text with "v"
|
||||||
bind-key -T copy-mode-vi 'y' send -X copy-selection # copy text with "y"
|
bind-key -T copy-mode-vi 'y' send -X copy-selection # copy text with "y"
|
||||||
@@ -36,6 +28,97 @@ unbind -T copy-mode-vi MouseDragEnd1Pane # don't exit copy mode when dragging wi
|
|||||||
# remove delay for exiting insert mode with ESC in Neovim
|
# remove delay for exiting insert mode with ESC in Neovim
|
||||||
set -sg escape-time 10
|
set -sg escape-time 10
|
||||||
|
|
||||||
|
# edit configuration
|
||||||
|
%if #{>=:#{version},3.0}
|
||||||
|
bind e new-window -n "#{TMUX_CONF_LOCAL}" -e EDITOR="$EDITOR" sh -c 'case "${EDITOR:-vim}" in *vim*) ${EDITOR:-vim} -c ":set syntax=tmux" "$TMUX_CONF_LOCAL";; *) $EDITOR "$TMUX_CONF_LOCAL";; esac && "$TMUX_PROGRAM" ${TMUX_SOCKET:+-S "$TMUX_SOCKET"} source "$TMUX_CONF" \; display "$TMUX_CONF_LOCAL sourced"'
|
||||||
|
%else
|
||||||
|
set-environment -g EDITOR "$EDITOR"
|
||||||
|
bind e new-window -n "#{TMUX_CONF_LOCAL}" sh -c 'case "${EDITOR:-vim}" in *vim*) ${EDITOR:-vim} -c ":set syntax=tmux" "$TMUX_CONF_LOCAL";; *) $EDITOR "$TMUX_CONF_LOCAL";; esac && "$TMUX_PROGRAM" ${TMUX_SOCKET:+-S "$TMUX_SOCKET"} source "$TMUX_CONF" \; display "$TMUX_CONF_LOCAL sourced"'
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# reload configuration
|
||||||
|
bind r run "sh -c '\"\$TMUX_PROGRAM\" \${TMUX_SOCKET:+-S \"\$TMUX_SOCKET\"} source \"\$TMUX_CONF\"'" \; display "#{TMUX_CONF} sourced"
|
||||||
|
|
||||||
|
set-window-option -g mode-keys vi
|
||||||
|
|
||||||
|
# -- display -------------------------------------------------------------------
|
||||||
|
|
||||||
|
set -g base-index 1 # start windows numbering at 1
|
||||||
|
setw -g pane-base-index 1 # make pane numbering consistent with windows
|
||||||
|
|
||||||
|
setw -g automatic-rename on # rename window to reflect current program
|
||||||
|
set -g renumber-windows on # renumber windows when a window is closed
|
||||||
|
|
||||||
|
set -g set-titles on # set terminal title
|
||||||
|
|
||||||
|
set -g display-panes-time 800 # slightly longer pane indicators display time
|
||||||
|
set -g display-time 1000 # slightly longer status messages display time
|
||||||
|
|
||||||
|
set -g status-interval 10 # redraw status line every 10 seconds
|
||||||
|
|
||||||
|
# activity
|
||||||
|
set -g monitor-activity on
|
||||||
|
set -g visual-activity off
|
||||||
|
|
||||||
|
set -g monitor-activity off
|
||||||
|
set -g bell-action none
|
||||||
|
set -g visual-bell off
|
||||||
|
# -- navigation ----------------------------------------------------------------
|
||||||
|
|
||||||
|
# create session
|
||||||
|
# bind C-c new-session
|
||||||
|
|
||||||
|
# find session
|
||||||
|
bind C-f command-prompt -p find-session 'switch-client -t %%'
|
||||||
|
|
||||||
|
# session navigation
|
||||||
|
bind BTab switch-client -l # move to last session
|
||||||
|
|
||||||
|
# split current window horizontally
|
||||||
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
# split current window vertically
|
||||||
|
bind _ split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
# pane navigation
|
||||||
|
bind -r h select-pane -L # move left
|
||||||
|
bind -r j select-pane -D # move down
|
||||||
|
bind -r k select-pane -U # move up
|
||||||
|
bind -r l select-pane -R # move right
|
||||||
|
bind C-q swap-pane -D # swap current pane with the next one
|
||||||
|
bind C-e swap-pane -U # swap current pane with the previous one
|
||||||
|
|
||||||
|
# maximize current pane
|
||||||
|
bind + run "cut -c3- '#{TMUX_CONF}' | sh -s _maximize_pane '#{session_name}' '#D'"
|
||||||
|
|
||||||
|
# pane resizing
|
||||||
|
bind -r H resize-pane -L 2
|
||||||
|
bind -r J resize-pane -D 2
|
||||||
|
bind -r K resize-pane -U 2
|
||||||
|
bind -r L resize-pane -R 2
|
||||||
|
|
||||||
|
# window navigation
|
||||||
|
unbind n
|
||||||
|
unbind p
|
||||||
|
bind -r C-h previous-window # select previous window
|
||||||
|
bind -r C-l next-window # select next window
|
||||||
|
bind Tab last-window # move to last active window
|
||||||
|
|
||||||
|
|
||||||
|
# -- copy mode -----------------------------------------------------------------
|
||||||
|
|
||||||
|
bind Enter copy-mode # enter copy mode
|
||||||
|
|
||||||
|
bind -T copy-mode-vi v send -X begin-selection
|
||||||
|
bind -T copy-mode-vi C-v send -X rectangle-toggle
|
||||||
|
bind -T copy-mode-vi y send -X copy-selection-and-cancel
|
||||||
|
bind -T copy-mode-vi Escape send -X cancel
|
||||||
|
bind -T copy-mode-vi H send -X start-of-line
|
||||||
|
bind -T copy-mode-vi L send -X end-of-line
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# NOTE: --------------------------------------------------------------------------------------------------------------------
|
||||||
# tpm plugin
|
# tpm plugin
|
||||||
set -g @plugin 'catppuccin/tmux'
|
set -g @plugin 'catppuccin/tmux'
|
||||||
# set -g @plugin 'xamut/tmux-weather'
|
# set -g @plugin 'xamut/tmux-weather'
|
||||||
@@ -76,8 +159,8 @@ set -g @catppuccin_window_status_icon_enable "yes"
|
|||||||
set -g @catppuccin_window_status_enable "yes"
|
set -g @catppuccin_window_status_enable "yes"
|
||||||
set -g @catppuccin_status_default "on"
|
set -g @catppuccin_status_default "on"
|
||||||
# icons
|
# icons
|
||||||
set -g @catppuccin_icon_window_last " "
|
set -g @catppuccin_icon_window_last " "
|
||||||
set -g @catppuccin_icon_window_current " "
|
set -g @catppuccin_icon_window_current " "
|
||||||
|
|
||||||
set -g status-position top
|
set -g status-position top
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
|
|
||||||
# If you come from bash you might have to change your $PATH.
|
|
||||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
|
||||||
# zmodload zsh/zprof
|
|
||||||
# export TERM=screen-256color
|
|
||||||
export PYOPENGL_PLATFORM=osmesa
|
export PYOPENGL_PLATFORM=osmesa
|
||||||
# export GTK_IM_MODULE=fcitx
|
|
||||||
# export QT_IM_MODULE=fcitx
|
|
||||||
# export XMODIFIERS=@im=fcitx
|
|
||||||
export PRIMARY_MONITOR_WORKSPACE=1
|
export PRIMARY_MONITOR_WORKSPACE=1
|
||||||
export SECONDARY_MONITOR_WORKSPACE=2
|
export SECONDARY_MONITOR_WORKSPACE=2
|
||||||
|
export VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
|
export MYPYPATH="/home/duckq1u/miniconda3/envs/pytorch"
|
||||||
|
|
||||||
|
export ROCM_PATH="/opt/rocm"
|
||||||
|
# export CMAKE_PREFIX_PATH="/home/duckq1u/miniconda3/envs/pytorch/lib/cmake"
|
||||||
|
export PYTORCH_ROCM_ARCH="gfx1010"
|
||||||
|
# export HSA_OVERRIDE_GFX_VERSION=10.1.0
|
||||||
|
# export HIP_VISIBLE_DEVICES=0
|
||||||
|
export LD_LIBRARY_PATH="/opt/rocm/"
|
||||||
|
|
||||||
# HACK: Config auto-suggestion as well as oh-my-posh
|
# HACK: Config auto-suggestion as well as oh-my-posh
|
||||||
eval "$(oh-my-posh init zsh --config ~/montys.omp.json)"
|
eval "$(oh-my-posh init zsh --config ~/montys.omp.json)"
|
||||||
@@ -71,13 +72,16 @@ zstyle ':completion:*' menu select
|
|||||||
alias nv='nvim'
|
alias nv='nvim'
|
||||||
alias lz='lazygit'
|
alias lz='lazygit'
|
||||||
# alias la='eza --color=always --long --git --no-filesize --icons=always --no-time --no-permissions -a'
|
# alias la='eza --color=always --long --git --no-filesize --icons=always --no-time --no-permissions -a'
|
||||||
alias la='eza -a --icons=always --color=always --git'
|
alias ls='eza -a --icons=always --color=always --git'
|
||||||
alias hh='cd ~'
|
alias hh='cd ~'
|
||||||
alias showport='sudo lsof -i -P -n | grep LISTEN'
|
alias showport='sudo lsof -i -P -n | grep LISTEN'
|
||||||
alias shutdown='sudo shutdown -h +60'
|
alias shutdowntime='sudo shutdown -h +60'
|
||||||
alias docs='cd ~/Documents/'
|
alias docs='cd ~/Documents/'
|
||||||
alias zrok='~/Documents/appimage/zrok'
|
alias zrok='~/Documents/appimage/zrok'
|
||||||
|
|
||||||
|
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
|
||||||
|
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
|
||||||
jointmux(){
|
jointmux(){
|
||||||
SESSION_NAME="duckq"
|
SESSION_NAME="duckq"
|
||||||
|
|
||||||
@@ -98,13 +102,16 @@ jointmux(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
appearance(){
|
appearance(){
|
||||||
pokemon-colorscripts -n charizard -f mega-x
|
# pokemon-colorscripts -n charizard -f mega-x
|
||||||
|
pokemon-colorscripts -n darkrai --no-title
|
||||||
cat ~/.conda/environments.txt
|
cat ~/.conda/environments.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
cls(){
|
cls(){
|
||||||
clear
|
clear
|
||||||
appearance
|
appearance
|
||||||
}
|
}
|
||||||
|
|
||||||
rs(){
|
rs(){
|
||||||
zsh
|
zsh
|
||||||
appearance
|
appearance
|
||||||
@@ -115,25 +122,22 @@ reloadbar(){
|
|||||||
ags &
|
ags &
|
||||||
}
|
}
|
||||||
alias listpkg='pacman -Qm'
|
alias listpkg='pacman -Qm'
|
||||||
|
alias vesktop='vesktop --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3' # bsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime'
|
||||||
|
alias obsidian='obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3'
|
||||||
|
alias llm='~/Documents/appimage/LM_Studio-0.3.5.AppImage'
|
||||||
|
alias via='~/Documents/appimage/via-3.0.0-linux.AppImage --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3'
|
||||||
alias tmat='jointmux'
|
alias tmat='jointmux'
|
||||||
alias tmdt='tmux detach'
|
alias tmdt='tmux detach'
|
||||||
|
|
||||||
# HACK: init tmux
|
|
||||||
# tmat duckq
|
|
||||||
|
|
||||||
# HACK: Init command
|
# HACK: Init command
|
||||||
#
|
appearance
|
||||||
# Display Pokemon-colorscripts
|
|
||||||
# Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macos
|
|
||||||
pokemon-colorscripts -n charizard -f mega-x
|
|
||||||
cat ~/.conda/environments.txt
|
|
||||||
|
|
||||||
# HACK: Keybindings
|
# HACK: Keybindings
|
||||||
bindkey '^g' autosuggest-accept
|
bindkey '^g' autosuggest-accept
|
||||||
bindkey '^p' history-search-backward
|
bindkey '^p' history-search-backward
|
||||||
bindkey '^n' history-search-forward
|
bindkey '^n' history-search-forward
|
||||||
bindkey '^[w' kill-region
|
bindkey '^[w' kill-region
|
||||||
|
bindkey "^H" backward-delete-word
|
||||||
# zprof
|
# zprof
|
||||||
# conda env list
|
# conda env list
|
||||||
|
|
||||||
@@ -155,3 +159,6 @@ unset __conda_setup
|
|||||||
# <<< conda initialize <<<
|
# <<< conda initialize <<<
|
||||||
conda activate pytorch
|
conda activate pytorch
|
||||||
|
|
||||||
|
|
||||||
|
# Added by LM Studio CLI (lms)
|
||||||
|
export PATH="$PATH:/home/duckq1u/.cache/lm-studio/bin"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
color_theme = "Default"
|
color_theme = "/usr/share/btop/themes/gruvbox_material_dark.theme"
|
||||||
|
|
||||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
theme_background = True
|
theme_background = True
|
||||||
@@ -53,11 +53,11 @@ graph_symbol_proc = "default"
|
|||||||
shown_boxes = "cpu net proc mem"
|
shown_boxes = "cpu net proc mem"
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
update_ms = 2000
|
update_ms = 1000
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
proc_sorting = "cpu lazy"
|
proc_sorting = "memory"
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
#* Reverse sorting order, True or False.
|
||||||
proc_reversed = False
|
proc_reversed = False
|
||||||
@@ -72,7 +72,7 @@ proc_colors = True
|
|||||||
proc_gradient = True
|
proc_gradient = True
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
proc_per_core = False
|
proc_per_core = True
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
#* Show process memory as bytes instead of percent.
|
||||||
proc_mem_bytes = True
|
proc_mem_bytes = True
|
||||||
@@ -169,7 +169,7 @@ show_swap = True
|
|||||||
swap_disk = True
|
swap_disk = True
|
||||||
|
|
||||||
#* If mem box should be split to also show disks info.
|
#* If mem box should be split to also show disks info.
|
||||||
show_disks = True
|
show_disks = False
|
||||||
|
|
||||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
only_physical = True
|
only_physical = True
|
||||||
@@ -187,7 +187,7 @@ disk_free_priv = False
|
|||||||
show_io_stat = True
|
show_io_stat = True
|
||||||
|
|
||||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
io_mode = False
|
io_mode = True
|
||||||
|
|
||||||
#* Set to True to show combined read/write io graphs in io mode.
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
io_graph_combined = False
|
io_graph_combined = False
|
||||||
@@ -205,7 +205,7 @@ net_upload = 100
|
|||||||
net_auto = True
|
net_auto = True
|
||||||
|
|
||||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
net_sync = True
|
net_sync = False
|
||||||
|
|
||||||
#* Starts with the Network Interface specified here.
|
#* Starts with the Network Interface specified here.
|
||||||
net_iface = ""
|
net_iface = ""
|
||||||
@@ -221,7 +221,7 @@ show_battery_watts = True
|
|||||||
|
|
||||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
log_level = "WARNING"
|
log_level = "ERROR"
|
||||||
|
|
||||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
nvml_measure_pcie_speeds = True
|
nvml_measure_pcie_speeds = True
|
||||||
|
|||||||
5
.config/btop/btop.log
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
|
||||||
|
2025/01/06 (15:43:41) | ===> btop++ v.1.4.0
|
||||||
|
2025/01/06 (15:43:41) | ERROR: Stall in Runner thread, restarting!
|
||||||
|
2025/01/06 (15:44:10) | ERROR: Stall in Runner thread, restarting!
|
||||||
|
2025/01/06 (15:44:43) | ERROR: Stall in Runner thread, restarting!
|
||||||
@@ -1,248 +0,0 @@
|
|||||||
#? Config file for btop v. 1.4.0
|
|
||||||
|
|
||||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
|
||||||
color_theme = "Default"
|
|
||||||
|
|
||||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
|
||||||
theme_background = True
|
|
||||||
|
|
||||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
|
||||||
truecolor = True
|
|
||||||
|
|
||||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
|
||||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
|
||||||
force_tty = False
|
|
||||||
|
|
||||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
|
||||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
|
||||||
#* Use whitespace " " as separator between different presets.
|
|
||||||
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
|
||||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
|
||||||
|
|
||||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
|
||||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
|
||||||
vim_keys = True
|
|
||||||
|
|
||||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
|
||||||
rounded_corners = True
|
|
||||||
|
|
||||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
|
||||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
|
||||||
#* "block" has half the resolution of braille but uses more common characters.
|
|
||||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
|
||||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
|
||||||
graph_symbol = "braille"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_cpu = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_gpu = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_mem = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_net = "default"
|
|
||||||
|
|
||||||
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
|
||||||
graph_symbol_proc = "default"
|
|
||||||
|
|
||||||
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
|
||||||
shown_boxes = "cpu net proc mem"
|
|
||||||
|
|
||||||
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
|
||||||
update_ms = 2000
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
|
||||||
proc_sorting = "cpu lazy"
|
|
||||||
|
|
||||||
#* Reverse sorting order, True or False.
|
|
||||||
proc_reversed = False
|
|
||||||
|
|
||||||
#* Show processes as a tree.
|
|
||||||
proc_tree = False
|
|
||||||
|
|
||||||
#* Use the cpu graph colors in the process list.
|
|
||||||
proc_colors = True
|
|
||||||
|
|
||||||
#* Use a darkening gradient in the process list.
|
|
||||||
proc_gradient = True
|
|
||||||
|
|
||||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
|
||||||
proc_per_core = False
|
|
||||||
|
|
||||||
#* Show process memory as bytes instead of percent.
|
|
||||||
proc_mem_bytes = True
|
|
||||||
|
|
||||||
#* Show cpu graph for each process.
|
|
||||||
proc_cpu_graphs = True
|
|
||||||
|
|
||||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
|
||||||
proc_info_smaps = False
|
|
||||||
|
|
||||||
#* Show proc box on left side of screen instead of right.
|
|
||||||
proc_left = False
|
|
||||||
|
|
||||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
|
||||||
proc_filter_kernel = False
|
|
||||||
|
|
||||||
#* In tree-view, always accumulate child process resources in the parent process.
|
|
||||||
proc_aggregate = False
|
|
||||||
|
|
||||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
|
||||||
#* Select from a list of detected attributes from the options menu.
|
|
||||||
cpu_graph_upper = "Auto"
|
|
||||||
|
|
||||||
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
|
||||||
#* Select from a list of detected attributes from the options menu.
|
|
||||||
cpu_graph_lower = "Auto"
|
|
||||||
|
|
||||||
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
|
||||||
show_gpu_info = "Auto"
|
|
||||||
|
|
||||||
#* Toggles if the lower CPU graph should be inverted.
|
|
||||||
cpu_invert_lower = True
|
|
||||||
|
|
||||||
#* Set to True to completely disable the lower CPU graph.
|
|
||||||
cpu_single_graph = False
|
|
||||||
|
|
||||||
#* Show cpu box at bottom of screen instead of top.
|
|
||||||
cpu_bottom = False
|
|
||||||
|
|
||||||
#* Shows the system uptime in the CPU box.
|
|
||||||
show_uptime = True
|
|
||||||
|
|
||||||
#* Show cpu temperature.
|
|
||||||
check_temp = True
|
|
||||||
|
|
||||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
|
||||||
cpu_sensor = "Auto"
|
|
||||||
|
|
||||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
|
||||||
show_coretemp = True
|
|
||||||
|
|
||||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
|
||||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
|
||||||
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
|
||||||
#* Example: "4:0 5:1 6:3"
|
|
||||||
cpu_core_map = ""
|
|
||||||
|
|
||||||
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
|
||||||
temp_scale = "celsius"
|
|
||||||
|
|
||||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
|
||||||
base_10_sizes = False
|
|
||||||
|
|
||||||
#* Show CPU frequency.
|
|
||||||
show_cpu_freq = True
|
|
||||||
|
|
||||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
|
||||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
|
||||||
clock_format = "%X"
|
|
||||||
|
|
||||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
|
||||||
background_update = True
|
|
||||||
|
|
||||||
#* Custom cpu model name, empty string to disable.
|
|
||||||
custom_cpu_name = ""
|
|
||||||
|
|
||||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
|
||||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
|
||||||
disks_filter = ""
|
|
||||||
|
|
||||||
#* Show graphs instead of meters for memory values.
|
|
||||||
mem_graphs = True
|
|
||||||
|
|
||||||
#* Show mem box below net box instead of above.
|
|
||||||
mem_below_net = False
|
|
||||||
|
|
||||||
#* Count ZFS ARC in cached and available memory.
|
|
||||||
zfs_arc_cached = True
|
|
||||||
|
|
||||||
#* If swap memory should be shown in memory box.
|
|
||||||
show_swap = True
|
|
||||||
|
|
||||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
|
||||||
swap_disk = True
|
|
||||||
|
|
||||||
#* If mem box should be split to also show disks info.
|
|
||||||
show_disks = True
|
|
||||||
|
|
||||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
|
||||||
only_physical = True
|
|
||||||
|
|
||||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
|
||||||
use_fstab = True
|
|
||||||
|
|
||||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
|
||||||
zfs_hide_datasets = False
|
|
||||||
|
|
||||||
#* Set to true to show available disk space for privileged users.
|
|
||||||
disk_free_priv = False
|
|
||||||
|
|
||||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
|
||||||
show_io_stat = True
|
|
||||||
|
|
||||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
|
||||||
io_mode = False
|
|
||||||
|
|
||||||
#* Set to True to show combined read/write io graphs in io mode.
|
|
||||||
io_graph_combined = False
|
|
||||||
|
|
||||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
|
||||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
|
||||||
io_graph_speeds = ""
|
|
||||||
|
|
||||||
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
|
||||||
net_download = 100
|
|
||||||
|
|
||||||
net_upload = 100
|
|
||||||
|
|
||||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
|
||||||
net_auto = True
|
|
||||||
|
|
||||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
|
||||||
net_sync = True
|
|
||||||
|
|
||||||
#* Starts with the Network Interface specified here.
|
|
||||||
net_iface = ""
|
|
||||||
|
|
||||||
#* Show battery stats in top right if battery is present.
|
|
||||||
show_battery = True
|
|
||||||
|
|
||||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
|
||||||
selected_battery = "Auto"
|
|
||||||
|
|
||||||
#* Show power stats of battery next to charge indicator.
|
|
||||||
show_battery_watts = True
|
|
||||||
|
|
||||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
|
||||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
|
||||||
log_level = "WARNING"
|
|
||||||
|
|
||||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
|
||||||
nvml_measure_pcie_speeds = True
|
|
||||||
|
|
||||||
#* Horizontally mirror the GPU graph.
|
|
||||||
gpu_mirror_graph = True
|
|
||||||
|
|
||||||
#* Custom gpu0 model name, empty string to disable.
|
|
||||||
custom_gpu_name0 = ""
|
|
||||||
|
|
||||||
#* Custom gpu1 model name, empty string to disable.
|
|
||||||
custom_gpu_name1 = ""
|
|
||||||
|
|
||||||
#* Custom gpu2 model name, empty string to disable.
|
|
||||||
custom_gpu_name2 = ""
|
|
||||||
|
|
||||||
#* Custom gpu3 model name, empty string to disable.
|
|
||||||
custom_gpu_name3 = ""
|
|
||||||
|
|
||||||
#* Custom gpu4 model name, empty string to disable.
|
|
||||||
custom_gpu_name4 = ""
|
|
||||||
|
|
||||||
#* Custom gpu5 model name, empty string to disable.
|
|
||||||
custom_gpu_name5 = ""
|
|
||||||
98
.config/btop/themes/gruvbox_dark.theme
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
# Bashtop gruvbox (https://github.com/morhetz/gruvbox) theme
|
||||||
|
# First version created By BachoSeven
|
||||||
|
# Adjustments to proper colors by Pietryszak (https://github.com/pietryszak/)
|
||||||
|
|
||||||
|
# Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255"
|
||||||
|
# example for white: "#FFFFFF", "#ff" or "255 255 255".
|
||||||
|
|
||||||
|
# All graphs and meters can be gradients
|
||||||
|
# For single color graphs leave "mid" and "end" variable empty.
|
||||||
|
# Use "start" and "end" variables for two color gradient
|
||||||
|
# Use "start", "mid" and "end" for three color gradient
|
||||||
|
|
||||||
|
# Main background, empty for terminal default, need to be empty if you want transparent background
|
||||||
|
theme[main_bg]="#282828"
|
||||||
|
|
||||||
|
# Main text color
|
||||||
|
theme[main_fg]="#EBDBB2"
|
||||||
|
|
||||||
|
# Title color for boxes
|
||||||
|
theme[title]="#EBDBB2"
|
||||||
|
|
||||||
|
# Highlight color for keyboard shortcuts
|
||||||
|
theme[hi_fg]="#CC241D"
|
||||||
|
|
||||||
|
# Background color of selected items
|
||||||
|
theme[selected_bg]="#32302F"
|
||||||
|
|
||||||
|
# Foreground color of selected items
|
||||||
|
theme[selected_fg]="#D3869B"
|
||||||
|
|
||||||
|
# Color of inactive/disabled text
|
||||||
|
theme[inactive_fg]="#3C3836"
|
||||||
|
|
||||||
|
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
|
||||||
|
theme[graph_text]="#A89984"
|
||||||
|
|
||||||
|
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||||
|
theme[proc_misc]="#98971A"
|
||||||
|
|
||||||
|
# Cpu box outline color
|
||||||
|
theme[cpu_box]="#A89984"
|
||||||
|
|
||||||
|
# Memory/disks box outline color
|
||||||
|
theme[mem_box]="#A89984"
|
||||||
|
|
||||||
|
# Net up/down box outline color
|
||||||
|
theme[net_box]="#A89984"
|
||||||
|
|
||||||
|
# Processes box outline color
|
||||||
|
theme[proc_box]="#A89984"
|
||||||
|
|
||||||
|
# Box divider line and small boxes line color
|
||||||
|
theme[div_line]="#A89984"
|
||||||
|
|
||||||
|
# Temperature graph colors
|
||||||
|
theme[temp_start]="#98971A"
|
||||||
|
theme[temp_mid]=""
|
||||||
|
theme[temp_end]="#CC241D"
|
||||||
|
|
||||||
|
# CPU graph colors
|
||||||
|
theme[cpu_start]="#8EC07C"
|
||||||
|
theme[cpu_mid]="#D79921"
|
||||||
|
theme[cpu_end]="#CC241D"
|
||||||
|
|
||||||
|
# Mem/Disk free meter
|
||||||
|
theme[free_start]="#CC241D"
|
||||||
|
theme[free_mid]="#D79921"
|
||||||
|
theme[free_end]="#8EC07C"
|
||||||
|
|
||||||
|
# Mem/Disk cached meter
|
||||||
|
theme[cached_start]="#458588"
|
||||||
|
theme[cached_mid]="#83A598"
|
||||||
|
theme[cached_end]="#8EC07C"
|
||||||
|
|
||||||
|
# Mem/Disk available meter
|
||||||
|
theme[available_start]="#CC241D"
|
||||||
|
theme[available_mid]="#D65D0E"
|
||||||
|
theme[available_end]="#FABD2F"
|
||||||
|
|
||||||
|
# Mem/Disk used meter
|
||||||
|
theme[used_start]="#8EC07C"
|
||||||
|
theme[used_mid]="#D65D0E"
|
||||||
|
theme[used_end]="#CC241D"
|
||||||
|
|
||||||
|
# Download graph colors
|
||||||
|
theme[download_start]="#98971A"
|
||||||
|
theme[download_mid]="#689d6A"
|
||||||
|
theme[download_end]="#B8BB26"
|
||||||
|
|
||||||
|
# Upload graph colors
|
||||||
|
theme[upload_start]="#CC241D"
|
||||||
|
theme[upload_mid]="#D65d0E"
|
||||||
|
theme[upload_end]="#FABF2F"
|
||||||
|
|
||||||
|
# Process box color gradient for threads, mem and cpu usage
|
||||||
|
theme[process_start]="#8EC07C"
|
||||||
|
theme[process_mid]="#FE8019"
|
||||||
|
theme[process_end]="#CC241D"
|
||||||
81
.config/btop/themes/tokyo_night.theme
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
# Theme: tokyo-night
|
||||||
|
# By: Pascal Jaeger
|
||||||
|
|
||||||
|
# Main bg
|
||||||
|
theme[main_bg]="#1a1b26"
|
||||||
|
|
||||||
|
# Main text color
|
||||||
|
theme[main_fg]="#cfc9c2"
|
||||||
|
|
||||||
|
# Title color for boxes
|
||||||
|
theme[title]="#cfc9c2"
|
||||||
|
|
||||||
|
# Highlight color for keyboard shortcuts
|
||||||
|
theme[hi_fg]="#7dcfff"
|
||||||
|
|
||||||
|
# Background color of selected item in processes box
|
||||||
|
theme[selected_bg]="#414868"
|
||||||
|
|
||||||
|
# Foreground color of selected item in processes box
|
||||||
|
theme[selected_fg]="#cfc9c2"
|
||||||
|
|
||||||
|
# Color of inactive/disabled text
|
||||||
|
theme[inactive_fg]="#565f89"
|
||||||
|
|
||||||
|
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
|
||||||
|
theme[proc_misc]="#7dcfff"
|
||||||
|
|
||||||
|
# Cpu box outline color
|
||||||
|
theme[cpu_box]="#565f89"
|
||||||
|
|
||||||
|
# Memory/disks box outline color
|
||||||
|
theme[mem_box]="#565f89"
|
||||||
|
|
||||||
|
# Net up/down box outline color
|
||||||
|
theme[net_box]="#565f89"
|
||||||
|
|
||||||
|
# Processes box outline color
|
||||||
|
theme[proc_box]="#565f89"
|
||||||
|
|
||||||
|
# Box divider line and small boxes line color
|
||||||
|
theme[div_line]="#565f89"
|
||||||
|
|
||||||
|
# Temperature graph colors
|
||||||
|
theme[temp_start]="#9ece6a"
|
||||||
|
theme[temp_mid]="#e0af68"
|
||||||
|
theme[temp_end]="#f7768e"
|
||||||
|
|
||||||
|
# CPU graph colors
|
||||||
|
theme[cpu_start]="#9ece6a"
|
||||||
|
theme[cpu_mid]="#e0af68"
|
||||||
|
theme[cpu_end]="#f7768e"
|
||||||
|
|
||||||
|
# Mem/Disk free meter
|
||||||
|
theme[free_start]="#9ece6a"
|
||||||
|
theme[free_mid]="#e0af68"
|
||||||
|
theme[free_end]="#f7768e"
|
||||||
|
|
||||||
|
# Mem/Disk cached meter
|
||||||
|
theme[cached_start]="#9ece6a"
|
||||||
|
theme[cached_mid]="#e0af68"
|
||||||
|
theme[cached_end]="#f7768e"
|
||||||
|
|
||||||
|
# Mem/Disk available meter
|
||||||
|
theme[available_start]="#9ece6a"
|
||||||
|
theme[available_mid]="#e0af68"
|
||||||
|
theme[available_end]="#f7768e"
|
||||||
|
|
||||||
|
# Mem/Disk used meter
|
||||||
|
theme[used_start]="#9ece6a"
|
||||||
|
theme[used_mid]="#e0af68"
|
||||||
|
theme[used_end]="#f7768e"
|
||||||
|
|
||||||
|
# Download graph colors
|
||||||
|
theme[download_start]="#9ece6a"
|
||||||
|
theme[download_mid]="#e0af68"
|
||||||
|
theme[download_end]="#f7768e"
|
||||||
|
|
||||||
|
# Upload graph colors
|
||||||
|
theme[upload_start]="#9ece6a"
|
||||||
|
theme[upload_mid]="#e0af68"
|
||||||
|
theme[upload_end]="#f7768e"
|
||||||
@@ -1 +1 @@
|
|||||||
/home/duckq1u/.config/hyde/themes/Gruvbox Retro/wallpapers/earth.gif
|
/home/duckq1u/.config/hyde/themes/Gruvbox Retro/wallpapers/lady.png
|
||||||
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/Bunny.gif
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/Coffee.gif
Normal file
|
After Width: | Height: | Size: 5.0 MiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/Enough.gif
Normal file
|
After Width: | Height: | Size: 14 MiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/Euso.gif
Normal file
|
After Width: | Height: | Size: 211 KiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/Halloween.gif
Normal file
|
After Width: | Height: | Size: 3.3 MiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/NighLightCity.gif
Normal file
|
After Width: | Height: | Size: 32 MiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/RockNRoll.gif
Normal file
|
After Width: | Height: | Size: 848 KiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/RockNRollWHeart.gif
Normal file
|
After Width: | Height: | Size: 990 KiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/SkateBoardV2.gif
Normal file
|
After Width: | Height: | Size: 456 KiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/pokemon.gif
Normal file
|
After Width: | Height: | Size: 4.7 MiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/runner.gif
Normal file
|
After Width: | Height: | Size: 594 KiB |
BIN
.config/hyde/themes/Gruvbox Retro/wallpapers/spidermans.gif
Normal file
|
After Width: | Height: | Size: 21 MiB |
@@ -4,35 +4,36 @@
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Animations/
|
# See https://wiki.hyprland.org/Configuring/Animations/
|
||||||
|
|
||||||
# animations {
|
|
||||||
# enabled = yes
|
|
||||||
# bezier = wind, 0.05, 0.9, 0.1, 1.05
|
|
||||||
# bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
|
||||||
# bezier = winOut, 0.3, -0.3, 0, 1
|
|
||||||
# bezier = liner, 1, 1, 1, 1
|
|
||||||
# animation = windows, 1, 6, wind, slide
|
|
||||||
# animation = windowsIn, 1, 6, winIn, slide
|
|
||||||
# animation = windowsOut, 1, 5, winOut, slide
|
|
||||||
# animation = windowsMove, 1, 5, wind, slide
|
|
||||||
# animation = border, 1, 1, liner
|
|
||||||
# animation = borderangle, 1, 30, liner, loop
|
|
||||||
# animation = fade, 1, 10, default
|
|
||||||
# animation = workspaces, 1, 5, wind
|
|
||||||
# }
|
|
||||||
|
|
||||||
|
|
||||||
animations {
|
animations {
|
||||||
enabled = true
|
enabled = true
|
||||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
bezier = wind, 0.05, 0.9, 0.1, 1.05
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
bezier = winIn, 0.1, 1.1, 0.1, 1.1
|
||||||
animation = windows, 1, 7, myBezier
|
bezier = winOut, 0.3, -0.3, 0, 1
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
bezier = liner, 1, 1, 1, 1
|
||||||
animation = border, 1, 10, default
|
|
||||||
animation = borderangle, 1, 8, default
|
animation = windows, 1, 6, wind, slide
|
||||||
animation = fade, 1, 7, default
|
animation = windowsIn, 1, 6, winIn, slide
|
||||||
animation = workspaces, 1, 6, default
|
animation = windowsOut, 1, 5, winOut, slide
|
||||||
|
animation = windowsMove, 1, 5, wind, slide
|
||||||
|
animation = border, 1, 1, liner
|
||||||
|
animation = borderangle, 1, 30, liner, loop
|
||||||
|
animation = fade, 1, 10, default
|
||||||
|
animation = workspaces, 1, 5, wind
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# animations {
|
||||||
|
# enabled = true
|
||||||
|
# # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
# bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
# animation = windows, 1, 7, myBezier
|
||||||
|
# animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
# animation = border, 1, 10, default
|
||||||
|
# animation = borderangle, 1, 8, default
|
||||||
|
# animation = fade, 1, 7, default
|
||||||
|
# animation = workspaces, 1, 6, default
|
||||||
|
# }
|
||||||
|
|
||||||
#
|
#
|
||||||
# animations {
|
# animations {
|
||||||
# enabled = true
|
# enabled = true
|
||||||
@@ -69,3 +70,7 @@ animations {
|
|||||||
# # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
# # animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||||
# animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
# animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||||
# }
|
# }
|
||||||
|
|
||||||
|
# animations {
|
||||||
|
# enabled = false
|
||||||
|
# }
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
env = GTK_IM_MODULE,fcitx
|
env = GTK_IM_MODULE,fcitx
|
||||||
|
|
||||||
|
|||||||
@@ -4,10 +4,15 @@
|
|||||||
exec-once = corectrl
|
exec-once = corectrl
|
||||||
exec-once = otd-daemon # run driver veikk
|
exec-once = otd-daemon # run driver veikk
|
||||||
exec-once = fcitx5
|
exec-once = fcitx5
|
||||||
|
exec-once = warp-taskbar
|
||||||
|
# exec-once = sway
|
||||||
|
|
||||||
exec-once = waybar -c ~/.config/waybar/primary_screen/config.jsonc
|
exec-once = waybar -c ~/.config/waybar/primary_screen/config.jsonc
|
||||||
exec-once = waybar -c ~/.config/waybar/secondary_screen/config.jsonc
|
exec-once = waybar -c ~/.config/waybar/secondary_screen/config.jsonc
|
||||||
|
# exec-once = waybar
|
||||||
|
|
||||||
|
|
||||||
exec = gsettings set org.gnome.desktop.interface icon-theme 'Nordzy'
|
exec = gsettings set org.gnome.desktop.interface icon-theme 'Nordzy'
|
||||||
|
exec = gsettings set org.gnome.desktop.interface cursor-theme 'Gruvbox'
|
||||||
|
|
||||||
exec = hyprctl setcursor Gruvbox-Retro 20
|
exec = hyprctl setcursor Gruvbox-Retro 20
|
||||||
|
|||||||
@@ -16,13 +16,18 @@ workspace = 4, monitor:HDMI-A-1,
|
|||||||
workspace = 6, monitor:HDMI-A-1,
|
workspace = 6, monitor:HDMI-A-1,
|
||||||
workspace = 8, monitor:HDMI-A-1,
|
workspace = 8, monitor:HDMI-A-1,
|
||||||
workspace = 10, monitor:HDMI-A-1,
|
workspace = 10, monitor:HDMI-A-1,
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
decoration {
|
decoration {
|
||||||
blur {
|
blur {
|
||||||
enabled = false
|
enabled = false
|
||||||
}
|
}
|
||||||
drop_shadow = false
|
# drop_shadow = false
|
||||||
|
shadow {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
@@ -30,7 +35,7 @@ input {
|
|||||||
kb_variant = ,qwerty
|
kb_variant = ,qwerty
|
||||||
# kb_options = grp:alt_shift_toggle
|
# kb_options = grp:alt_shift_toggle
|
||||||
kb_options = grp:win_space_toggle
|
kb_options = grp:win_space_toggle
|
||||||
repeat_delay = 155
|
repeat_delay = 200
|
||||||
repeat_rate = 55
|
repeat_rate = 55
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,16 +60,9 @@ master {
|
|||||||
new_on_top = true
|
new_on_top = true
|
||||||
}
|
}
|
||||||
|
|
||||||
dwindle {
|
|
||||||
preserve_split = true # you probably want this
|
|
||||||
#no_gaps_when_only = true
|
|
||||||
|
|
||||||
smart_resizing = false
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
misc {
|
||||||
vrr = 0
|
vrr = 0
|
||||||
vfr = false
|
vfr = true
|
||||||
disable_hyprland_logo = true
|
disable_hyprland_logo = true
|
||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
force_default_wallpaper = 0
|
force_default_wallpaper = 0
|
||||||
@@ -73,28 +71,28 @@ misc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
plugin {
|
plugin {
|
||||||
hyprbars {
|
# hyprbars {
|
||||||
# Honestly idk if it works like css, but well, why not
|
# # Honestly idk if it works like css, but well, why not
|
||||||
bar_text_font = VictorMono NF SemiBold Italic
|
# bar_text_font = VictorMono NF SemiBold Italic
|
||||||
bar_text_size = 18
|
# bar_text_size = 18
|
||||||
bar_height = 30
|
# bar_height = 30
|
||||||
bar_padding = 10
|
# bar_padding = 10
|
||||||
bar_button_padding = 15
|
# bar_button_padding = 15
|
||||||
bar_precedence_over_border = false
|
# bar_precedence_over_border = github
|
||||||
bar_part_of_window = false
|
# bar_part_of_window = false
|
||||||
|
|
||||||
bar_color = rgba(12131CFF)
|
# bar_color = rgba(12131CFF)
|
||||||
col.text = rgba(E2E1EFFF)
|
# col.text = rgba(E2E1EFFF)
|
||||||
|
|
||||||
# example buttons (R -> L)
|
# # example buttons (R -> L)
|
||||||
# hyprbars-button = color, size, on-click
|
# # hyprbars-button = color, size, on-click
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl dispatch killactive
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl dispatch killactive
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
# hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
||||||
}
|
# }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ unbind = Super, K
|
|||||||
unbind = Super, L
|
unbind = Super, L
|
||||||
unbind = Ctrl+Alt, mouse_down
|
unbind = Ctrl+Alt, mouse_down
|
||||||
unbind = Ctrl+Alt, mouse_up
|
unbind = Ctrl+Alt, mouse_up
|
||||||
|
unbind = SUPER, Tab
|
||||||
unbind = SUPER, mouse:273
|
unbind = SUPER, mouse:273
|
||||||
|
|
||||||
|
|
||||||
@@ -38,9 +39,9 @@ bind = Ctrl+Alt, J, movewindow, d # [hidden]
|
|||||||
## switch workspace
|
## switch workspace
|
||||||
bind = Shift+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh
|
bind = Shift+Alt, L, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh
|
||||||
bind = Shift+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh
|
bind = Shift+Alt, H, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh
|
||||||
|
|
||||||
bindt = Ctrl+Alt, mouse:272, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh
|
bindt = Ctrl+Alt, mouse:272, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2descrease.sh
|
||||||
bindt = Ctrl+Alt, mouse:273, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh
|
bindt = Ctrl+Alt, mouse:273, exec, source /home/duckq1u/.config/hypr/scripts/workspaceV2inscrease.sh
|
||||||
|
|
||||||
bindm = ALT, mouse:272, movewindow # [hidden]
|
bindm = ALT, mouse:272, movewindow # [hidden]
|
||||||
|
|
||||||
bind = Alt, Q, killactive,
|
bind = Alt, Q, killactive,
|
||||||
@@ -51,11 +52,16 @@ bind = Alt, E, exec, nautilus --new-window # Launch Nautilus (file manager)
|
|||||||
bind = Alt, T, exec, kitty
|
bind = Alt, T, exec, kitty
|
||||||
bind = Alt, B, exec, thorium-browser --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime # phai them cai nay vao no moi chay tren wayland chuan xac duoc
|
bind = Alt, B, exec, thorium-browser --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime # phai them cai nay vao no moi chay tren wayland chuan xac duoc
|
||||||
bind = Shift+Alt, B, exec, brave
|
bind = Shift+Alt, B, exec, brave
|
||||||
bind = Alt, O, exec, obsidian
|
bind = Alt, O, exec, obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3
|
||||||
bind = Alt, V, exec, vesktop --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U
|
bind = Alt, V, exec, vesktop --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --wayland-text-input-v3
|
||||||
|
|
||||||
|
bind = Alt, N, exec, swaync-client -t
|
||||||
|
bind = Alt+Shift, N, exec, dunstctl close-all
|
||||||
|
|
||||||
|
|
||||||
bind = SUPER, SUPER_L, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
|
bind = SUPER, SUPER_L, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch application launcher
|
||||||
|
bind = SUPER, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch window switcher
|
||||||
|
|
||||||
bind = SUPER, L, exec, swaylock # launch lock screen
|
bind = SUPER, L, exec, swaylock # launch lock screen
|
||||||
bind = Ctrl+SUPER, Ctrl+SUPER_L, exec, rofi
|
bind = Ctrl+SUPER, Ctrl+SUPER_L, exec, rofi
|
||||||
|
|
||||||
|
|||||||
@@ -33,11 +33,10 @@ exec-once = $scrPath/polkitkdeauth.sh # authentication dialogue for GUI apps
|
|||||||
exec-once = blueman-applet # systray app for Bluetooth
|
exec-once = blueman-applet # systray app for Bluetooth
|
||||||
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
|
exec-once = udiskie --no-automount --smart-tray # front-end that allows to manage removable media
|
||||||
exec-once = nm-applet --indicator # systray app for Network/Wifi
|
exec-once = nm-applet --indicator # systray app for Network/Wifi
|
||||||
exec-once = dunst # start notification demon
|
# exec-once = dunst # start notification demon
|
||||||
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
|
exec-once = wl-paste --type text --watch cliphist store # clipboard store text data
|
||||||
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
|
exec-once = wl-paste --type image --watch cliphist store # clipboard store image data
|
||||||
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
|
exec-once = $scrPath/swwwallpaper.sh # start wallpaper daemon
|
||||||
exec-once = $scrPath/batterynotify.sh # battery nnotification
|
|
||||||
|
|
||||||
|
|
||||||
# █▀▀ █▄░█ █░█
|
# █▀▀ █▄░█ █░█
|
||||||
|
|||||||
@@ -44,10 +44,17 @@ bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # laun
|
|||||||
# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
# bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||||
# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
# bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||||
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
|
||||||
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
|
bindl = SUPER, M, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
|
||||||
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
|
||||||
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
|
||||||
|
|
||||||
|
# bindl = Alt ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
||||||
|
# bindl = Super ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
||||||
|
# bindl = ,XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden]
|
||||||
|
# bindl = Super+Shift,M, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden]
|
||||||
|
# bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ # [hidden]
|
||||||
|
# bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- # [hidden]
|
||||||
|
|
||||||
# Media control
|
# Media control
|
||||||
bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
|
bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
|
||||||
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
|
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
|
||||||
@@ -115,17 +122,6 @@ binde = $mainMod+Shift, Left, resizeactive, -30 0
|
|||||||
binde = $mainMod+Shift, Up, resizeactive, 0 -30
|
binde = $mainMod+Shift, Up, resizeactive, 0 -30
|
||||||
binde = $mainMod+Shift, Down, resizeactive, 0 30
|
binde = $mainMod+Shift, Down, resizeactive, 0 30
|
||||||
|
|
||||||
# Move focused window to a workspace
|
|
||||||
bind = $mainMod+Shift, 1, movetoworkspace, 1
|
|
||||||
bind = $mainMod+Shift, 2, movetoworkspace, 2
|
|
||||||
bind = $mainMod+Shift, 3, movetoworkspace, 3
|
|
||||||
bind = $mainMod+Shift, 4, movetoworkspace, 4
|
|
||||||
bind = $mainMod+Shift, 5, movetoworkspace, 5
|
|
||||||
bind = $mainMod+Shift, 6, movetoworkspace, 6
|
|
||||||
bind = $mainMod+Shift, 7, movetoworkspace, 7
|
|
||||||
bind = $mainMod+Shift, 8, movetoworkspace, 8
|
|
||||||
bind = $mainMod+Shift, 9, movetoworkspace, 9
|
|
||||||
bind = $mainMod+Shift, 0, movetoworkspace, 10
|
|
||||||
|
|
||||||
# Move focused window to a relative workspace
|
# Move focused window to a relative workspace
|
||||||
bind = $mainMod+Ctrl+Alt, Right, movetoworkspace, r+1
|
bind = $mainMod+Ctrl+Alt, Right, movetoworkspace, r+1
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ window_info=$(hyprctl activewindow)
|
|||||||
window_state=$(echo "$window_info" | grep 'fullscreen:' | awk '{print $2}')
|
window_state=$(echo "$window_info" | grep 'fullscreen:' | awk '{print $2}')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# NOTE: Di chuyển cửa sổ nếu vị trí X vượt qua ngưỡng
|
# NOTE: Di chuyển cửa sổ nếu vị trí X vượt qua ngưỡng
|
||||||
if [ $window_state -eq 1 ]; then
|
if [ $window_state -eq 1 ]; then
|
||||||
hyprctl dispatch focusmonitor 1
|
hyprctl dispatch focusmonitor 1
|
||||||
@@ -15,4 +14,5 @@ if [ $window_state -eq 1 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
hyprctl dispatch movefocus r
|
hyprctl dispatch movefocus r
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ move(){
|
|||||||
|
|
||||||
hyprctl --batch "
|
hyprctl --batch "
|
||||||
dispatch movetoworkspace $((window_at_workspace-1)) ;
|
dispatch movetoworkspace $((window_at_workspace-1)) ;
|
||||||
dispatch focusmonitor 0 ;
|
|
||||||
dispatch workspace $((current_workspace-2)) ;
|
dispatch workspace $((current_workspace-2)) ;
|
||||||
dispatch focusmonitor 1
|
dispatch focusmonitor 1
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -15,14 +15,9 @@ window_width=$(echo "$window_info" | grep 'size:' | awk '{print $2}' | cut -d','
|
|||||||
hyprctl dispatch fullscreenstate 0 # minimize trước khi di chuyển
|
hyprctl dispatch fullscreenstate 0 # minimize trước khi di chuyển
|
||||||
|
|
||||||
move(){
|
move(){
|
||||||
# hyprctl dispatch movetoworkspace $((window_at_workspace+1)) \
|
|
||||||
# && hyprctl dispatch focusmonitor 1 \
|
|
||||||
# && hyprctl dispatch workspace $((current_workspace+2)) \
|
|
||||||
# && hyprctl dispatch focusmonitor 0
|
|
||||||
|
|
||||||
hyprctl --batch "
|
hyprctl --batch "
|
||||||
dispatch movetoworkspace $((window_at_workspace+1)) ;
|
dispatch movetoworkspace $((window_at_workspace+1)) ;
|
||||||
dispatch focusmonitor 1 ;
|
|
||||||
dispatch workspace $((current_workspace+2)) ;
|
dispatch workspace $((current_workspace+2)) ;
|
||||||
dispatch focusmonitor 0
|
dispatch focusmonitor 0
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Extract workspace ID from the output of hyprctl activewindow
|
# Extract workspace ID from the output of hyprctl activewindow
|
||||||
current_monitor=$(hyprctl activeworkspace | grep 'monitorID' | awk '{print $2}')
|
|
||||||
current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}')
|
current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}')
|
||||||
|
|
||||||
# Determine the second workspace based on whether the current workspace is even or odd
|
# Determine the second workspace based on whether the current workspace is even or odd
|
||||||
@@ -10,14 +9,8 @@ else
|
|||||||
second_workspace=$((current_workspace + 1))
|
second_workspace=$((current_workspace + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Assign primary and secondary monitor workspaces based on the current workspace
|
primary_monitor_workspace=$((current_workspace - 2))
|
||||||
if [ $((current_workspace % 2)) -eq 0 ]; then
|
secondary_monitor_workspace=$((second_workspace - 2))
|
||||||
primary_monitor_workspace=$((second_workspace - 2)) # left
|
|
||||||
secondary_monitor_workspace=$((current_workspace - 2)) # right
|
|
||||||
else
|
|
||||||
primary_monitor_workspace=$((current_workspace - 2))
|
|
||||||
secondary_monitor_workspace=$((second_workspace - 2))
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if primary_monitor_workspace is less than or equal to 0
|
# Check if primary_monitor_workspace is less than or equal to 0
|
||||||
# or if secondary_monitor_workspace is greater than or equal to 11
|
# or if secondary_monitor_workspace is greater than or equal to 11
|
||||||
@@ -25,18 +18,8 @@ if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -g
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# hyprctl dispatch focusmonitor 0 \
|
|
||||||
# &&hyprctl dispatch workspace $primary_monitor_workspace \
|
|
||||||
# &&hyprctl dispatch focusmonitor 1 \
|
|
||||||
# &&hyprctl dispatch workspace $secondary_monitor_workspace \
|
|
||||||
# &&hyprctl dispatch focusmonitor $current_monitor
|
|
||||||
|
|
||||||
hyprctl --batch "
|
hyprctl --batch "
|
||||||
dispatch focusmonitor 0 ;
|
|
||||||
dispatch workspace $primary_monitor_workspace ;
|
|
||||||
dispatch dispatch focusmonitor 1 ;
|
|
||||||
dispatch workspace $secondary_monitor_workspace ;
|
dispatch workspace $secondary_monitor_workspace ;
|
||||||
dispatch focusmonitor $current_monitor
|
dispatch workspace $primary_monitor_workspace ;
|
||||||
"
|
"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -5,20 +5,17 @@ current_monitor=$(hyprctl activeworkspace | grep 'monitorID' | awk '{print $2}')
|
|||||||
current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}')
|
current_workspace=$(hyprctl activeworkspace | grep 'workspace' | awk '{print $3}')
|
||||||
|
|
||||||
# Determine the second workspace based on whether the current workspace is even or odd
|
# Determine the second workspace based on whether the current workspace is even or odd
|
||||||
|
echo $current_workspace
|
||||||
|
echo $current_monitor
|
||||||
|
|
||||||
if [ $((current_workspace % 2)) -eq 0 ]; then
|
if [ $((current_workspace % 2)) -eq 0 ]; then
|
||||||
second_workspace=$((current_workspace - 1))
|
second_workspace=$((current_workspace - 1))
|
||||||
else
|
else
|
||||||
second_workspace=$((current_workspace + 1))
|
second_workspace=$((current_workspace + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Assign primary and secondary monitor workspaces based on the current workspace
|
primary_monitor_workspace=$((current_workspace + 2)) # 1 + 2 =3
|
||||||
if [ $((current_workspace % 2)) -eq 0 ]; then
|
secondary_monitor_workspace=$((second_workspace + 2)) # 2 + 2 =4
|
||||||
primary_monitor_workspace=$((second_workspace + 2)) # left
|
|
||||||
secondary_monitor_workspace=$((current_workspace + 2)) # right
|
|
||||||
else
|
|
||||||
primary_monitor_workspace=$((current_workspace + 2))
|
|
||||||
secondary_monitor_workspace=$((second_workspace + 2))
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if primary_monitor_workspace is less than or equal to 0
|
# Check if primary_monitor_workspace is less than or equal to 0
|
||||||
# or if secondary_monitor_workspace is greater than or equal to 11
|
# or if secondary_monitor_workspace is greater than or equal to 11
|
||||||
@@ -26,18 +23,9 @@ if [ "$primary_monitor_workspace" -le 0 ] || [ "$secondary_monitor_workspace" -g
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# hyprctl dispatch focusmonitor 0 \
|
|
||||||
# &&hyprctl dispatch workspace $primary_monitor_workspace \
|
|
||||||
# &&hyprctl dispatch focusmonitor 1 \
|
|
||||||
# &&hyprctl dispatch workspace $secondary_monitor_workspace \
|
|
||||||
# &&hyprctl dispatch focusmonitor $current_monitor
|
|
||||||
|
|
||||||
hyprctl --batch "
|
hyprctl --batch "
|
||||||
dispatch focusmonitor 0 ;
|
|
||||||
dispatch workspace $primary_monitor_workspace ;
|
|
||||||
dispatch dispatch focusmonitor 1 ;
|
|
||||||
dispatch workspace $secondary_monitor_workspace ;
|
dispatch workspace $secondary_monitor_workspace ;
|
||||||
dispatch focusmonitor $current_monitor
|
dispatch workspace $primary_monitor_workspace ;
|
||||||
"
|
"
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|||||||
@@ -32,16 +32,19 @@ group {
|
|||||||
|
|
||||||
decoration {
|
decoration {
|
||||||
rounding = 3
|
rounding = 3
|
||||||
drop_shadow = false
|
# drop_shadow = false
|
||||||
|
shadow {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
|
|
||||||
blur {
|
blur {
|
||||||
enabled = yes
|
enabled = false
|
||||||
size = 4
|
# size = 4
|
||||||
passes = 2
|
# passes = 2
|
||||||
new_optimizations = on
|
# new_optimizations = on
|
||||||
ignore_opacity = on
|
# ignore_opacity = on
|
||||||
xray = false
|
# xray = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
layerrule = blur,waybar
|
# layerrule = blur,waybar
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
# You can put extra environment variables here
|
|
||||||
# https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
#
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# You can make apps auto-start here
|
|
||||||
# Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing
|
|
||||||
#
|
|
||||||
exec-once = corectrl
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
# Put general config stuff here
|
|
||||||
# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
|
|
||||||
monitor = DP-1, highres, 0x0, 1
|
|
||||||
monitor = HDMI-A-1, highres, 1920x0, 1
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
blur {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
drop_shadow = false
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
kb_variant = ,qwerty
|
|
||||||
# kb_options = grp:alt_shift_toggle
|
|
||||||
kb_options = grp:win_space_toggle
|
|
||||||
repeat_delay = 155
|
|
||||||
repeat_rate = 55
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
general {
|
|
||||||
# Gaps and border
|
|
||||||
gaps_in = 4
|
|
||||||
gaps_out = 4
|
|
||||||
border_size = 6
|
|
||||||
|
|
||||||
# Fallback colors
|
|
||||||
col.active_border = rgba(0DB7D4FF) rgba(7AA2F7FF) rgba(9778D0FF) rgb(24C6DC) rgb(93EDC7) 45deg
|
|
||||||
col.inactive_border = rgba(12131CFF)
|
|
||||||
|
|
||||||
# Functionality
|
|
||||||
# resize_on_border = true
|
|
||||||
layout = master
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
preserve_split = true # you probably want this
|
|
||||||
#no_gaps_when_only = true
|
|
||||||
|
|
||||||
smart_resizing = false
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
background_color = rgba(12131CFF)
|
|
||||||
vfr = true
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
hyprbars {
|
|
||||||
# Honestly idk if it works like css, but well, why not
|
|
||||||
bar_text_font = VictorMono NF SemiBold Italic
|
|
||||||
bar_text_size = 18
|
|
||||||
bar_height = 30
|
|
||||||
bar_padding = 10
|
|
||||||
bar_button_padding = 15
|
|
||||||
bar_precedence_over_border = false
|
|
||||||
bar_part_of_window = false
|
|
||||||
|
|
||||||
bar_color = rgba(12131CFF)
|
|
||||||
col.text = rgba(E2E1EFFF)
|
|
||||||
|
|
||||||
# example buttons (R -> L)
|
|
||||||
# hyprbars-button = color, size, on-click
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl dispatch killactive
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
hyprbars-button = rgba(12131CFF), 25, , hyprctl
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
# You can put your preferred keybinds here
|
|
||||||
# https://wiki.hyprland.org/Configuring/Binds/
|
|
||||||
|
|
||||||
unbind = Super, W
|
|
||||||
unbind = Super, T
|
|
||||||
unbind = Alt, E
|
|
||||||
|
|
||||||
# disbale side
|
|
||||||
unbind = Super, B
|
|
||||||
unbind = Super, M
|
|
||||||
unbind = Super, N
|
|
||||||
unbind = Super, E
|
|
||||||
|
|
||||||
# monve workspace
|
|
||||||
unbind = Super, H
|
|
||||||
unbind = Super, J
|
|
||||||
unbind = Super, K
|
|
||||||
unbind = Super, L
|
|
||||||
|
|
||||||
|
|
||||||
# move windown
|
|
||||||
bind = Alt, H, fullscreenstate, 0 # [hidden]
|
|
||||||
bind = Alt, H, movefocus, l # [hidden]
|
|
||||||
|
|
||||||
bind = Alt, L, fullscreenstate, 0 # [hidden]
|
|
||||||
bind = Alt, L, movefocus, r # [hidden]
|
|
||||||
|
|
||||||
bind = Alt, K, fullscreenstate, 0 # [hidden]
|
|
||||||
bind = Alt, K, movefocus, u # [hidden]
|
|
||||||
|
|
||||||
bind = Alt, J, fullscreenstate, 0 # [hidden]
|
|
||||||
bind = Alt, J, movefocus, d # [hidden]
|
|
||||||
|
|
||||||
##! Window arrangement
|
|
||||||
#/# bind = Super+Shift, ←/↑/→/↓,, # Window: move in direction
|
|
||||||
bind = Ctrl+Alt, H, fullscreenstate, 0 # [hidden]
|
|
||||||
bind = Ctrl+Alt, H, movewindow, l # [hidden]
|
|
||||||
|
|
||||||
bind = Ctrl+Alt, L, fullscreenstate, 0 # [hidden]
|
|
||||||
bind = Ctrl+Alt, L, movewindow, r # [hidden]
|
|
||||||
|
|
||||||
bind = Ctrl+Alt, K, movewindow, u # [hidden]
|
|
||||||
bind = Ctrl+Alt, J, movewindow, d # [hidden]
|
|
||||||
bind = Ctrl+Alt, M, exec, pavucontrol # Launch pavucontrol (volume mixer)
|
|
||||||
|
|
||||||
bind = Alt, Q, killactive,
|
|
||||||
|
|
||||||
bind = Alt, F, fullscreen, 1
|
|
||||||
bind = Alt, R, exec, killall ags ydotool; ags & # Restart widgets
|
|
||||||
bind = Alt, E, exec, nautilus --new-window # Launch Nautilus (file manager)
|
|
||||||
bind = Alt, M, exec, ags run-js 'openMusicControls.value = (!mpris.getPlayer() ? false : !openMusicControls.value);' # Toggle music controls
|
|
||||||
bind = Alt, N, exec, ags -t 'sideright' # Toggle right sidebar
|
|
||||||
|
|
||||||
bind = Alt, T, exec, kitty
|
|
||||||
bind = Alt, B, exec, brave
|
|
||||||
bind = Alt, O, exec, obsidian --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U
|
|
||||||
bind = Alt, V, exec, vesktop --no-sandbox --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations %U
|
|
||||||
|
|
||||||
# bind = Ctrl+Super+Shift, Right, movetoworkspace, +1 # [hidden]
|
|
||||||
bind = Shift+Alt, L, focusmonitor, 1
|
|
||||||
bind = Shift+Alt, H, focusmonitor, 0
|
|
||||||
|
|
||||||
bindl= Super, H, exec, playerctl previous # Previous track
|
|
||||||
bindl= Super, L, exec, playerctl play-pause # Play/pause media
|
|
||||||
bindl= Super, K, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # Next track
|
|
||||||
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# You can put custom rules here
|
|
||||||
# Window/layer rules: https://wiki.hyprland.org/Configuring/Window-Rules/
|
|
||||||
# Workspace rules: https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
#
|
|
||||||
windowrulev2 = bordercolor rgb(c21500) rgb(d53369) rgb(F2994A) rgb(F2C94C) 45deg,fullscreen:1
|
|
||||||
# windowrulev2 = nofocus, ^(Ibus-ui-gtk3)$
|
|
||||||
# windowrulev2 = nofocus, ^(Ibus-ui-gtk5)$
|
|
||||||
# windowrulev2 = nofocus, ^(Ibus-ui-gtk4)$
|
|
||||||
# windowrulev2=nofocus,ibus-ui
|
|
||||||
@@ -6,7 +6,7 @@ font_family JetBrainsMonoNL NF SemiBold
|
|||||||
italic_font VictorMono NF SemiBold Italic
|
italic_font VictorMono NF SemiBold Italic
|
||||||
# bold_italic_font FiraCode Italic
|
# bold_italic_font FiraCode Italic
|
||||||
|
|
||||||
font_size 14
|
font_size 15
|
||||||
|
|
||||||
# background_image ~/Pictures/ImgsDownloadsFromBr/BgKittyGif/convert.png
|
# background_image ~/Pictures/ImgsDownloadsFromBr/BgKittyGif/convert.png
|
||||||
# background_image_layout cscaled
|
# background_image_layout cscaled
|
||||||
@@ -15,7 +15,7 @@ background_opacity 0.9
|
|||||||
|
|
||||||
input_delay 0
|
input_delay 0
|
||||||
repaint_delay 0
|
repaint_delay 0
|
||||||
sync_to_monitor yes
|
sync_to_monitor no
|
||||||
wayland_enable_ime no
|
wayland_enable_ime no
|
||||||
|
|
||||||
# cursor lirke neovide
|
# cursor lirke neovide
|
||||||
@@ -39,7 +39,6 @@ map cmd+c copy_to_clipboard
|
|||||||
map cmd+v paste_from_clipboard
|
map cmd+v paste_from_clipboard
|
||||||
map ctrl+shift+s paste_from_selection
|
map ctrl+shift+s paste_from_selection
|
||||||
|
|
||||||
|
|
||||||
background #24273a
|
background #24273a
|
||||||
foreground #ffffff
|
foreground #ffffff
|
||||||
cursor #bbbbbb
|
cursor #bbbbbb
|
||||||
|
|||||||
9
.config/lazygit/config.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
gui:
|
||||||
|
showIcons: true
|
||||||
|
screenMode: half
|
||||||
|
|
||||||
|
git:
|
||||||
|
paging:
|
||||||
|
colorArg: always
|
||||||
|
pager: delta --dark --paging=never --line-numbers --hyperlinks --hyperlinks-file-link-format="lazygit-edit://{path}:{line}"
|
||||||
|
|
||||||
41
.config/nvim/.gitignore
vendored
@@ -1,41 +0,0 @@
|
|||||||
# Compiled Lua sources
|
|
||||||
luac.out
|
|
||||||
|
|
||||||
# luarocks build files
|
|
||||||
*.src.rock
|
|
||||||
*.zip
|
|
||||||
*.tar.gz
|
|
||||||
|
|
||||||
# Object files
|
|
||||||
*.o
|
|
||||||
*.os
|
|
||||||
*.ko
|
|
||||||
*.obj
|
|
||||||
*.elf
|
|
||||||
|
|
||||||
# Precompiled Headers
|
|
||||||
*.gch
|
|
||||||
*.pch
|
|
||||||
|
|
||||||
# Libraries
|
|
||||||
*.lib
|
|
||||||
*.a
|
|
||||||
*.la
|
|
||||||
*.lo
|
|
||||||
*.def
|
|
||||||
*.exp
|
|
||||||
|
|
||||||
# Shared objects (inc. Windows DLLs)
|
|
||||||
*.dll
|
|
||||||
*.so
|
|
||||||
*.so.*
|
|
||||||
*.dylib
|
|
||||||
|
|
||||||
# Executables
|
|
||||||
*.exe
|
|
||||||
*.out
|
|
||||||
*.app
|
|
||||||
*.i*86
|
|
||||||
*.x86_64
|
|
||||||
*.hex
|
|
||||||
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"neodev": {
|
|
||||||
"library": {
|
|
||||||
"enabled": true,
|
|
||||||
"plugins": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neoconf": {
|
|
||||||
"plugins": {
|
|
||||||
"lua_ls": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lspconfig": {
|
|
||||||
"lua_ls": {
|
|
||||||
"Lua.format.enable": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
column_width = 120
|
|
||||||
line_endings = "Unix"
|
|
||||||
indent_type = "Spaces"
|
|
||||||
indent_width = 2
|
|
||||||
quote_style = "AutoPreferDouble"
|
|
||||||
call_parentheses = "None"
|
|
||||||
collapse_simple_statement = "Always"
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
# nvim-config
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
vi" hightlight inline on """
|
|
||||||
```
|
|
||||||
|
|
||||||
My personal neovim config
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
- Windows
|
|
||||||
|
|
||||||
```powershell
|
|
||||||
Rename-Item -Path $env:LOCALAPPDATA\nvim -NewName $env:LOCALAPPDATA\nvim.bak
|
|
||||||
Rename-Item -Path $env:LOCALAPPDATA\nvim-data -NewName $env:LOCALAPPDATA\nvim-data.bak
|
|
||||||
git clone https://github.com/Penguin-jpg/nvim-config $env:LOCALAPPDATA\nvim
|
|
||||||
nvim
|
|
||||||
```
|
|
||||||
|
|
||||||
- Unix
|
|
||||||
|
|
||||||
```shell
|
|
||||||
mv ~/.config/nvim ~/.config/nvim.bak
|
|
||||||
mv ~/.local/share/nvim ~/.local/share/nvim.bak
|
|
||||||
git clone https://github.com/Penguin-jpg/nvim-config ~/.config/nvim
|
|
||||||
nvim
|
|
||||||
```
|
|
||||||
|
|
||||||
## Dependency
|
|
||||||
|
|
||||||
- Python
|
|
||||||
|
|
||||||
```shell
|
|
||||||
sudo apt-get install python3-dev python3-pip python3-venv
|
|
||||||
pip install pynvim
|
|
||||||
```
|
|
||||||
|
|
||||||
- Node
|
|
||||||
|
|
||||||
```shell
|
|
||||||
npm install -g neovim
|
|
||||||
```
|
|
||||||
|
|
||||||
- Cargo
|
|
||||||
```shell
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
||||||
rustup update
|
|
||||||
cargo install --locked yazi-fm yazi-cli
|
|
||||||
```
|
|
||||||
- Optional
|
|
||||||
- [ripgrep (for live grep)](https://github.com/BurntSushi/ripgrep)
|
|
||||||
- [wezterm](https://wezfurlong.org/wezterm/index.html)
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
|
||||||
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
|
||||||
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- validate that lazy is available
|
|
||||||
if not pcall(require, "lazy") then
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMs" } }, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
vim.cmd.quit()
|
|
||||||
end
|
|
||||||
|
|
||||||
require "lazy_setup"
|
|
||||||
require "polish"
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
{
|
|
||||||
"AstroNvim": { "branch": "main", "commit": "c82ef216d0776b19cd7229fb916c4b30fbe3484c" },
|
|
||||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
|
||||||
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
|
|
||||||
"aerial.nvim": { "branch": "master", "commit": "9c29a1a66eb31384888e413e510ba72496e06770" },
|
|
||||||
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" },
|
|
||||||
"astrocommunity": { "branch": "main", "commit": "bb7988ac0efe0c17936c350c6da19051765f0e71" },
|
|
||||||
"astrocore": { "branch": "main", "commit": "0fcaac66d115948605c14eaf45a41d3923eaafeb" },
|
|
||||||
"astrolsp": { "branch": "main", "commit": "2f6b0a4059775a1dac011d2944dd41fd4a8fe7a8" },
|
|
||||||
"astrotheme": { "branch": "main", "commit": "41b7d8430a55fd771e41bd763af4c3fd1c2fc0b5" },
|
|
||||||
"astroui": { "branch": "main", "commit": "58c4130bd15c28827eab19dcc20fb9483bf5cad8" },
|
|
||||||
"auto-save.nvim": { "branch": "main", "commit": "5fbcaac0a2698c87a9a1bd2083cb6949505cca12" },
|
|
||||||
"bamboo.nvim": { "branch": "master", "commit": "d38c50257d9fb16b17050569b29d777b1f2503ee" },
|
|
||||||
"better-escape.nvim": { "branch": "master", "commit": "199dcc2643dec5d8dbdab4ec672cf405224dcb3b" },
|
|
||||||
"catppuccin": { "branch": "main", "commit": "0b5df9c9e641b1212b21a0762ccad4434fd41322" },
|
|
||||||
"clangd_extensions.nvim": { "branch": "main", "commit": "8f7b72100883e0e34400d9518d40a03f21e4d0a6" },
|
|
||||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
|
||||||
"cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" },
|
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
|
||||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
|
||||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
|
||||||
"code_runner.nvim": { "branch": "main", "commit": "dcedccbf969a0f3bc00db446172b4966e83101dd" },
|
|
||||||
"cyberdream.nvim": { "branch": "main", "commit": "cd3c2e7955034a5bec0e1beb9d7cb80c639ef5d5" },
|
|
||||||
"dressing.nvim": { "branch": "master", "commit": "43b8f74e0b1e3f41e51f640f8efa3bcd401cea0d" },
|
|
||||||
"duplicate.nvim": { "branch": "main", "commit": "ab057af7872c44e6fbd48df9b03983c8e67c50a7" },
|
|
||||||
"flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "0b04035bb7b3c83e999b9676e2fb46fd0aa9f910" },
|
|
||||||
"grug-far.nvim": { "branch": "main", "commit": "190c03d54e8976491e6e49acb97087bf4182b079" },
|
|
||||||
"guess-indent.nvim": { "branch": "main", "commit": "6cd61f7a600bb756e558627cd2e740302c58e32d" },
|
|
||||||
"heirline.nvim": { "branch": "master", "commit": "cc359b628266cb9a84b2d71c883f2b99e16473a0" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "3fe94b8034dd5241cb882bb73847303b58857ecf" },
|
|
||||||
"kanagawa.nvim": { "branch": "master", "commit": "e5f7b8a804360f0a48e40d0083a97193ee4fcc87" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
|
||||||
"lsp_signature.nvim": { "branch": "master", "commit": "a38da0a61c172bb59e34befc12efe48359884793" },
|
|
||||||
"lspkind.nvim": { "branch": "master", "commit": "a700f1436d4a938b1a1a93c9962dc796afbaef4d" },
|
|
||||||
"luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" },
|
|
||||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
|
||||||
"markview.nvim": { "branch": "main", "commit": "72cd34279e94ee96ee33bdf30a87b00e6d45319d" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" },
|
|
||||||
"mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" },
|
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" },
|
|
||||||
"mini.bufremove": { "branch": "main", "commit": "1ee294a97e091d3cf967974df622c0d887890dc2" },
|
|
||||||
"mini.icons": { "branch": "main", "commit": "54686be7d58807906cb2c8c2216e0bf9c044f19a" },
|
|
||||||
"mini.indentscope": { "branch": "main", "commit": "da9af64649e114aa79480c238fd23f6524bc0903" },
|
|
||||||
"mini.move": { "branch": "main", "commit": "4caa1c212f5ca3d1633d21cfb184808090ed74b1" },
|
|
||||||
"mini.surround": { "branch": "main", "commit": "48a9795c9d352c771e1ab5dedab6063c0a2df037" },
|
|
||||||
"monokai-pro.nvim": { "branch": "master", "commit": "4f4133601296881bb2197800bd68d2bba9eaadb9" },
|
|
||||||
"multiple-cursors.nvim": { "branch": "main", "commit": "2f5e786c43aa9c0fc34b295cfcc9bfbacef8e926" },
|
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
|
|
||||||
"neoconf.nvim": { "branch": "main", "commit": "24db302fe23c4c07233e4b9d79ebe1dd2d3c975b" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "c6f6fb178ebe9b4fd90383de743c3399f8c3a37c" },
|
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "1f2bf17eddfdd45aed254b6922c6c68b933dba9e" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "a0fd35fcbb4cb479366f1dc5f20145fd718a3733" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" },
|
|
||||||
"nvim-cmp": { "branch": "main", "commit": "be7bd4c5f860c79da97af3a26d489af50babfd4b" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "cc92b054720a96170eca6bd9bdedd43d2b0a7a8a" },
|
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" },
|
|
||||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" },
|
|
||||||
"nvim-highlight-colors": { "branch": "main", "commit": "e967e2ba13fd4ca731b41d0e5cc1ac2edcd6e25e" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "dafd61d6533bd90ecf6e2a3a972298fdddc74d82" },
|
|
||||||
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
|
|
||||||
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
|
|
||||||
"nvim-spider": { "branch": "main", "commit": "77a74131775f7d427f148c65a6119966a0b3da25" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "7930b5f983c37bb07c9af27274334a7adcb3e5af" },
|
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" },
|
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" },
|
|
||||||
"nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
|
||||||
"promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" },
|
|
||||||
"rainbow-delimiters.nvim": { "branch": "master", "commit": "d803ba7668ba390aa4cfd3580183c982cac36fd8" },
|
|
||||||
"resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" },
|
|
||||||
"smart-splits.nvim": { "branch": "master", "commit": "00fba7a0e912a8d82da91a3b6b11d641fa500bd8" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
|
||||||
"telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
|
||||||
"transparent.nvim": { "branch": "main", "commit": "8a2749a2fa74f97fe6557f61b89ac7fd873f3c21" },
|
|
||||||
"treesj": { "branch": "main", "commit": "03415ac60791d48e120a80d37e080744faf3ac15" },
|
|
||||||
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
|
|
||||||
"ultimate-autopair.nvim": { "branch": "v0.6", "commit": "9e3209190c22953566ae4e6436ad2b4ff4dabb95" },
|
|
||||||
"vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" },
|
|
||||||
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "9b365a6428a9633e3eeb34dbef1b791511c54f70" }
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
-- AstroCommunity: import any community modules here
|
|
||||||
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
|
|
||||||
-- This guarantees that the specs are processed before any user plugins.
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astrocommunity",
|
|
||||||
{ import = "astrocommunity.pack.lua" },
|
|
||||||
{ import = "astrocommunity.pack.json" },
|
|
||||||
-- { import = "astrocommunity.pack.markdown" },
|
|
||||||
{ import = "astrocommunity.color.nvim-highlight-colors" },
|
|
||||||
{ import = "astrocommunity.diagnostics.trouble-nvim" },
|
|
||||||
{ import = "astrocommunity.neovim-lua-development.lazydev-nvim" },
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
-- Some commands that I want to execute in specific timing
|
|
||||||
vim.api.nvim_create_augroup("disable_comment_newline", { clear = true })
|
|
||||||
vim.api.nvim_create_augroup("auto_wrap", { clear = true })
|
|
||||||
vim.api.nvim_create_augroup("disable_suspend_with_c_z", { clear = true })
|
|
||||||
vim.api.nvim_create_augroup("clear_last_search", { clear = true })
|
|
||||||
|
|
||||||
-- NOTE: CursorLineNr setting
|
|
||||||
vim.api.nvim_set_hl(0, "CursorLineNr", { fg = "#FFD700", bg = "none", bold = true })
|
|
||||||
-- NOTE: visual line colors
|
|
||||||
vim.api.nvim_set_hl(0, "Visual", { fg = "#000000", bg = "#FFFFFF", bold = true })
|
|
||||||
|
|
||||||
-- NOTE: Set colors for hightlights for similar words
|
|
||||||
-- vim.api.nvim_set_hl(0, "LspReferenceRead", { fg = "#FF0000" })
|
|
||||||
-- vim.api.nvim_set_hl(0, "LspReferenceWrite", { fg = "#FF0000" })
|
|
||||||
-- vim.api.nvim_set_hl(0, "LspReferenceText", { fg = "#FF0000" })
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufEnter", {
|
|
||||||
desc = "Disable auto insert comment newline",
|
|
||||||
group = "disable_comment_newline",
|
|
||||||
command = "set formatoptions-=cro",
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
desc = "Enable wrap and spell for text like documents",
|
|
||||||
group = "auto_wrap",
|
|
||||||
pattern = { "gitcommit", "markdown", "text", "plaintext" },
|
|
||||||
callback = function()
|
|
||||||
vim.opt_local.wrap = true
|
|
||||||
vim.opt_local.spell = true
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufEnter", {
|
|
||||||
desc = "Remap <C-z> to nothing so that it doesn't suspend terminal",
|
|
||||||
group = "disable_suspend_with_c_z",
|
|
||||||
command = "nnoremap <c-z> <nop>",
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("BufWinEnter", {
|
|
||||||
desc = "Clear last search pattern",
|
|
||||||
group = "clear_last_search",
|
|
||||||
pattern = "*",
|
|
||||||
command = "let @/ = ''",
|
|
||||||
})
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
-- Mapping data with "desc" stored directly by vim.keymap.set().
|
|
||||||
--
|
|
||||||
-- Please use this mappings table to set keyboard mapping since this is the
|
|
||||||
-- lower level configuration and more robust one. (which-key will
|
|
||||||
-- automatically pick-up stored data by this setting.)
|
|
||||||
|
|
||||||
return function()
|
|
||||||
local mappings = require("astrocore").empty_map_table()
|
|
||||||
|
|
||||||
-------------------------------------------
|
|
||||||
------- Disable default mappings ----------
|
|
||||||
-------------------------------------------
|
|
||||||
mappings.n["<C-H>"] = false
|
|
||||||
mappings.n["<C-L>"] = false
|
|
||||||
mappings.n["<C-K>"] = false
|
|
||||||
mappings.n["<C-J>"] = false
|
|
||||||
mappings.n["<C-Left>"] = false
|
|
||||||
mappings.n["<C-Right>"] = false
|
|
||||||
mappings.n["<C-Up>"] = false
|
|
||||||
mappings.n["<C-Down>"] = false
|
|
||||||
|
|
||||||
-------------------------------------------
|
|
||||||
----------- Utility functions -------------
|
|
||||||
-------------------------------------------
|
|
||||||
mappings.n["<C-z>"] = { "u", desc = "Undo" }
|
|
||||||
-- mappings.n["<S-k>"] = { "u", desc = "Undo" }
|
|
||||||
mappings.n["K"] = { function() vim.lsp.buf.hover() end, desc = "Hover symbol details"}
|
|
||||||
|
|
||||||
mappings.i["<C-z>"] = { "<C-o>u", desc = "Undo" }
|
|
||||||
mappings.i["<C-Del>"] = { "<C-o>dw", desc = "Delete a word backward" }
|
|
||||||
mappings.i["<C-s>"] = { "<Cmd>w!<CR>", desc = "Save file" }
|
|
||||||
mappings.i["jj"] = { "<Esc>", desc = "Normal mode" }
|
|
||||||
|
|
||||||
mappings.i["<S-Tab>"] = { "<C-d>", desc = "Unindent line" }
|
|
||||||
mappings.v["<Tab>"] = { ">gv", desc = "Indent line" }
|
|
||||||
mappings.v["<S-Tab>"] = { "<gv", desc = "Unindent line" }
|
|
||||||
|
|
||||||
-- Separate cut and delete motion
|
|
||||||
-- for key, map in pairs {
|
|
||||||
-- ["d"] = { '"_d', desc = "Delete" },
|
|
||||||
-- ["X"] = { "d", desc = "Cut" },
|
|
||||||
-- } do
|
|
||||||
-- mappings.n[key] = map
|
|
||||||
-- mappings.v[key] = map
|
|
||||||
-- end
|
|
||||||
|
|
||||||
------ Motions related to jumping or selecting ------
|
|
||||||
-- for key, map in pairs {
|
|
||||||
-- ["H"] = { "^", desc = "Jump to beginning of line" },
|
|
||||||
-- ["L"] = { "$", desc = "Jump to end of line" },
|
|
||||||
-- ["K"] = { "5k", desc = "Move up 5 lines" },
|
|
||||||
-- ["J"] = { "5j", desc = "Move down 5 lines" },
|
|
||||||
-- } do
|
|
||||||
-- mappings.n[key] = map
|
|
||||||
-- mappings.v[key] = map
|
|
||||||
-- end
|
|
||||||
mappings.n["<C-a>"] = { "ggVG", desc = "Select all lines" }
|
|
||||||
|
|
||||||
return mappings
|
|
||||||
end
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
return {
|
|
||||||
-- vim.opt.<key>
|
|
||||||
opt = {
|
|
||||||
number = true, -- show line number
|
|
||||||
relativenumber = true, -- show relative line number
|
|
||||||
spell = false, -- disable spell check
|
|
||||||
wrap = false, -- disable auto wrap lines
|
|
||||||
signcolumn = "yes", -- show changes of file
|
|
||||||
foldcolumn = "1", -- show foldcolumn
|
|
||||||
foldenable = true, -- enable fold for nvim-ufo
|
|
||||||
foldlevel = 99, -- set high foldlevel for nvim-ufo
|
|
||||||
foldlevelstart = 99, -- start with all code unfolded
|
|
||||||
guicursor = "n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20", -- default cursor setting
|
|
||||||
clipboard = "unnamedplus", -- enable system clipboard
|
|
||||||
termguicolors = true, -- true color support
|
|
||||||
mouse = "a", -- enable mouse
|
|
||||||
mousemoveevent = true, -- enable mousemove event
|
|
||||||
laststatus = 3, -- only show one statusline
|
|
||||||
swapfile = false, -- don't use swapfile
|
|
||||||
shiftwidth = 2, -- number of space inserted for indentation; when zero the 'tabstop' value will be used
|
|
||||||
tabstop = 2, -- set the number of space in a tab to 4
|
|
||||||
softtabstop = 2, -- can be differnt from tabstop
|
|
||||||
showtabline = 0, -- always show tabline
|
|
||||||
expandtab = true, -- use spaces instead of tab
|
|
||||||
undofile = true, -- enable persistent undo
|
|
||||||
},
|
|
||||||
-- vim.g.<key>
|
|
||||||
g = {
|
|
||||||
-- configure global vim variables (vim.g)
|
|
||||||
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
|
|
||||||
-- This can be found in the `lua/lazy_setup.lua` file
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
require("lazy").setup({
|
|
||||||
|
|
||||||
{
|
|
||||||
"AstroNvim/AstroNvim",
|
|
||||||
version = "^4", -- Remove version tracking to elect for nighly AstroNvim
|
|
||||||
import = "astronvim.plugins",
|
|
||||||
opts = { -- AstroNvim options must be set here with the `import` key
|
|
||||||
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
|
|
||||||
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
|
|
||||||
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
|
|
||||||
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ import = "community" },
|
|
||||||
{ import = "plugins" },
|
|
||||||
} --[[@as LazySpec]], {
|
|
||||||
-- Configure any other `lazy.nvim` configuration options here
|
|
||||||
install = { colorscheme = { "astrodark", "habamax" } },
|
|
||||||
|
|
||||||
ui = {
|
|
||||||
backdrop = 100,
|
|
||||||
border = "single",
|
|
||||||
size = { width = 0.8, height = 0.8 },
|
|
||||||
},
|
|
||||||
|
|
||||||
checker = {
|
|
||||||
enabled = true,
|
|
||||||
notify = false,
|
|
||||||
},
|
|
||||||
|
|
||||||
performance = {
|
|
||||||
rtp = {
|
|
||||||
-- disable some rtp plugins, add more to your liking
|
|
||||||
disabled_plugins = {
|
|
||||||
"gzip",
|
|
||||||
"netrwPlugin",
|
|
||||||
"tarPlugin",
|
|
||||||
"tohtml",
|
|
||||||
"zipPlugin",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
} --[[@as LazyConfig]])
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
|
|
||||||
-- Configuration documentation can be found with `:h astrocore`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
---@type AstroCoreOpts
|
|
||||||
opts = {
|
|
||||||
-- Configure core features of AstroNvim
|
|
||||||
features = {
|
|
||||||
large_buf = { size = 1024 * 500, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
|
|
||||||
autopairs = false, -- enable autopairs at start
|
|
||||||
cmp = true, -- enable completion at start
|
|
||||||
diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on)
|
|
||||||
highlighturl = false, -- highlight URLs at start
|
|
||||||
notifications = true, -- enable notifications at start
|
|
||||||
},
|
|
||||||
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
|
|
||||||
diagnostics = {
|
|
||||||
-- virtual_text = true,
|
|
||||||
underline = true,
|
|
||||||
update_in_insert = false,
|
|
||||||
},
|
|
||||||
-- Configuration table of session options for AstroNvim's session management powered by Resession
|
|
||||||
sessions = {
|
|
||||||
-- Configure auto saving
|
|
||||||
autosave = {
|
|
||||||
last = true, -- auto save last session
|
|
||||||
cwd = false, -- auto save session for each working directory
|
|
||||||
},
|
|
||||||
-- Patterns to ignore when saving sessions
|
|
||||||
ignore = {
|
|
||||||
dirs = {}, -- working directories to ignore sessions in
|
|
||||||
filetypes = { "gitcommit", "gitrebase" }, -- filetypes to ignore sessions
|
|
||||||
buftypes = {}, -- buffer types to ignore sessions
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- vim options can be configured here
|
|
||||||
options = require "core.options",
|
|
||||||
-- Mappings can be configured through AstroCore as well.
|
|
||||||
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
|
|
||||||
mappings = require "core.mappings"(),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
-- Configuration documentation can be found with `:h astrolsp`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astrolsp",
|
|
||||||
---@type AstroLSPOpts
|
|
||||||
opts = {
|
|
||||||
-- Configuration table of features provided by AstroLSP
|
|
||||||
features = {
|
|
||||||
autoformat = false, -- enable or disable auto formatting on start
|
|
||||||
codelens = true, -- enable/disable codelens refresh on start
|
|
||||||
inlay_hints = true, -- enable/disable inlay hints on start
|
|
||||||
semantic_tokens = true, -- enable/disable semantic token highlighting
|
|
||||||
},
|
|
||||||
-- customize lsp formatting options
|
|
||||||
formatting = require "plugins.configs.lsp.formatting",
|
|
||||||
-- enable servers that you already have installed without mason
|
|
||||||
servers = {},
|
|
||||||
-- customize language server configuration options passed to `lspconfig`
|
|
||||||
---@diagnostic disable: missing-fields
|
|
||||||
config = {
|
|
||||||
clangd = require "plugins.configs.lsp.config.clangd",
|
|
||||||
basedpyright = require "plugins.configs.lsp.config.basedpyright",
|
|
||||||
},
|
|
||||||
-- customize how language servers are attached
|
|
||||||
handlers = {
|
|
||||||
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
|
|
||||||
-- function(server, opts) require("lspconfig")[server].setup(opts) end
|
|
||||||
|
|
||||||
-- the key is the server that is being setup with `lspconfig`
|
|
||||||
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
|
|
||||||
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
|
|
||||||
},
|
|
||||||
-- Configure buffer local auto commands to add when attaching a language server
|
|
||||||
autocmds = {
|
|
||||||
-- first key is the `augroup` to add the auto commands to (:h augroup)
|
|
||||||
lsp_document_highlight = {
|
|
||||||
-- Optional condition to create/delete auto command group
|
|
||||||
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
|
|
||||||
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
|
|
||||||
-- the auto commands will be deleted for that buffer
|
|
||||||
cond = "textDocument/documentHighlight",
|
|
||||||
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
|
|
||||||
-- list of auto commands to set
|
|
||||||
{
|
|
||||||
-- events to trigger
|
|
||||||
event = { "CursorHold", "CursorHoldI" },
|
|
||||||
-- the rest of the autocmd options (:h nvim_create_autocmd)
|
|
||||||
desc = "Document Highlighting",
|
|
||||||
callback = function() vim.lsp.buf.document_highlight() end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event = { "CursorMoved", "CursorMovedI", "BufLeave" },
|
|
||||||
desc = "Document Highlighting Clear",
|
|
||||||
callback = function() vim.lsp.buf.clear_references() end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- disable inlay hints in insert mode
|
|
||||||
disable_inlay_hints_on_insert = {
|
|
||||||
-- only create for language servers that support inlay hints
|
|
||||||
-- (and only if vim.lsp.inlay_hint is available)
|
|
||||||
cond = vim.lsp.inlay_hint and "textDocument/inlayHint" or false,
|
|
||||||
{
|
|
||||||
-- when going into insert mode
|
|
||||||
event = "InsertEnter",
|
|
||||||
desc = "disable inlay hints on insert",
|
|
||||||
callback = function(args)
|
|
||||||
local filter = { bufnr = args.buf }
|
|
||||||
-- if the inlay hints are currently enabled
|
|
||||||
if vim.lsp.inlay_hint.is_enabled(filter) then
|
|
||||||
-- disable the inlay hints
|
|
||||||
vim.lsp.inlay_hint.enable(false, filter)
|
|
||||||
-- create a single use autocommand to turn the inlay hints back on
|
|
||||||
-- when leaving insert mode
|
|
||||||
vim.api.nvim_create_autocmd("InsertLeave", {
|
|
||||||
buffer = args.buf,
|
|
||||||
once = true,
|
|
||||||
callback = function() vim.lsp.inlay_hint.enable(true, filter) end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- mappings to be set up on attaching of a language server
|
|
||||||
mappings = {
|
|
||||||
n = {
|
|
||||||
gh = { function() vim.lsp.buf.hover() end, desc = "Hover symbol details", cond = "textDocument/hover" },
|
|
||||||
gl = { function() vim.diagnostic.open_float() end, desc = "Hover diagnostics" },
|
|
||||||
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
|
|
||||||
gD = {
|
|
||||||
function() vim.lsp.buf.declaration() end,
|
|
||||||
desc = "Declaration of current symbol",
|
|
||||||
cond = "textDocument/declaration",
|
|
||||||
},
|
|
||||||
["<Leader>uY"] = {
|
|
||||||
function() require("astrolsp.toggles").buffer_semantic_tokens() end,
|
|
||||||
desc = "Toggle LSP semantic highlight (buffer)",
|
|
||||||
cond = function(client) return client.server_capabilities.semanticTokensProvider and vim.lsp.semantic_tokens end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- A custom `on_attach` function to be run after the default `on_attach` function
|
|
||||||
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
-- this would disable semanticTokensProvider for all clients
|
|
||||||
-- client.server_capabilities.semanticTokensProvider = nil
|
|
||||||
|
|
||||||
-- Disable ruff_lsp hover in favor of pyright
|
|
||||||
if client.name == "ruff_lsp" then client.server_capabilities.hoverProvider = false end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
-- AstroUI provides the basis for configuring the AstroNvim User Interface
|
|
||||||
-- Configuration documentation can be found with `:h astroui`
|
|
||||||
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
|
|
||||||
-- as this provides autocomplete and documentation while editing
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"AstroNvim/astroui",
|
|
||||||
---@type AstroUIOpts
|
|
||||||
opts = {
|
|
||||||
-- change colorscheme
|
|
||||||
colorscheme = "bamboo",
|
|
||||||
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
|
|
||||||
highlights = require "plugins.configs.ui.highlights",
|
|
||||||
-- Icons can be configured throughout the interface
|
|
||||||
icons = require "plugins.configs.ui.icons",
|
|
||||||
status = require "plugins.configs.ui.status",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
return {
|
|
||||||
"okuuva/auto-save.nvim",
|
|
||||||
cmd = "ASToggle", -- optional for lazy loading on command
|
|
||||||
event = { "InsertLeave", "TextChanged" }, -- optional for lazy loading on trigger events
|
|
||||||
opts = {
|
|
||||||
-- your config goes here
|
|
||||||
-- or just leave it empty :)
|
|
||||||
enabled = true, -- start auto-save when the plugin is loaded (i.e. when your package manager loads it)
|
|
||||||
trigger_events = { -- See :h events
|
|
||||||
-- immediate_save = { "BufLeave", "FocusLost" }, -- vim events that trigger an immediate save
|
|
||||||
defer_save = {"TextChanged" }, -- vim events that trigger a deferred save (saves after `debounce_delay`)
|
|
||||||
cancel_deferred_save = { "InsertEnter" }, -- vim events that cancel a pending deferred save
|
|
||||||
},
|
|
||||||
-- function that takes the buffer handle and determines whether to save the current buffer or not
|
|
||||||
-- return true: if buffer is ok to be saved
|
|
||||||
-- return false: if it's not ok to be saved
|
|
||||||
-- if set to `nil` then no specific condition is applied
|
|
||||||
--
|
|
||||||
condition = function(buf)
|
|
||||||
-- Check if vim-visual-multi is active
|
|
||||||
local visual_multi_active = vim.g.VM_is_active or false
|
|
||||||
if visual_multi_active then return false end
|
|
||||||
-- Additional conditions can be added here if needed
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
|
|
||||||
write_all_buffers = false, -- write all buffers when the current one meets `condition`
|
|
||||||
noautocmd = false, -- do not execute autocmds when saving
|
|
||||||
lockmarks = false, -- lock marks when saving, see `:h lockmarks` for more details
|
|
||||||
debounce_delay = 10000, -- delay after which a pending save is executed
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"onsails/lspkind.nvim",
|
|
||||||
opts = {
|
|
||||||
symbol_map = require "plugins.configs.ui.lspkind",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
opts = function(_, opts)
|
|
||||||
local cmp = require "cmp"
|
|
||||||
local luasnip = require "luasnip"
|
|
||||||
|
|
||||||
local function has_words_before()
|
|
||||||
local line, col = (unpack or table.unpack)(vim.api.nvim_win_get_cursor(0))
|
|
||||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match "%s" == nil
|
|
||||||
end
|
|
||||||
|
|
||||||
return require("astrocore").extend_tbl(opts, {
|
|
||||||
-- Configure window style
|
|
||||||
window = {
|
|
||||||
completion = {
|
|
||||||
winhighlight = "Normal:Pmenu,CursorLine:PmenuSel,Search:None",
|
|
||||||
-- border = "none",
|
|
||||||
side_padding = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
formatting = {
|
|
||||||
-- Show icon at the beginning and menu at the end
|
|
||||||
fields = { "kind", "abbr", "menu" },
|
|
||||||
format = function(entry, vim_item)
|
|
||||||
local kind = require("lspkind").cmp_format { mode = "symbol_text", maxwidth = 50 }(entry, vim_item)
|
|
||||||
local strings = vim.split(kind.kind, "%s", { trimetry = true })
|
|
||||||
kind.kind = " " .. (strings[1] or "") .. " "
|
|
||||||
kind.menu = " [" .. (strings[2] or "") .. "]"
|
|
||||||
return kind
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- Always select the first option
|
|
||||||
completion = {
|
|
||||||
completeopt = "menu,menuone,noinsert",
|
|
||||||
},
|
|
||||||
-- Custom mapping
|
|
||||||
mapping = {
|
|
||||||
-- Esc to close completion menu
|
|
||||||
["<Esc>"] = cmp.mapping { i = cmp.mapping.abort(), c = cmp.mapping.close() },
|
|
||||||
-- Tab to select completion
|
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() and has_words_before() then
|
|
||||||
cmp.confirm { select = true }
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
-- Use <C-n> and <C-p> to select luasnip
|
|
||||||
["<C-n>"] = cmp.mapping(function(fallback)
|
|
||||||
if luasnip.jumpable(1) then
|
|
||||||
luasnip.jump(1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
["<C-p>"] = cmp.mapping(function(fallback)
|
|
||||||
if luasnip.jumpable(-1) then
|
|
||||||
luasnip.jump(-1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
},
|
|
||||||
experimental = {
|
|
||||||
ghost_text = false, -- this feature conflict with copilot.vim's preview.
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
return {
|
|
||||||
"CRAG666/code_runner.nvim",
|
|
||||||
opts = {
|
|
||||||
filetype = {
|
|
||||||
java = {
|
|
||||||
"cd $dir &&",
|
|
||||||
"javac $fileName &&",
|
|
||||||
"java $fileNameWithoutExt",
|
|
||||||
},
|
|
||||||
python = {
|
|
||||||
"cd $dir &&",
|
|
||||||
"python3 -u $fileName",
|
|
||||||
},
|
|
||||||
rust = {
|
|
||||||
"cd $dir &&",
|
|
||||||
"rustc $fileName &&",
|
|
||||||
"$dir/$fileNameWithoutExt",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>r", ":RunCode<CR>", mode = "n", noremap = true, silent = false, desc = "Run code" },
|
|
||||||
{ "<leader>rf", ":RunFile<CR>", mode = "n", noremap = true, silent = false, desc = "Run file" },
|
|
||||||
{ "<leader>rft", ":RunFile tab<CR>", mode = "n", noremap = true, silent = false, desc = "Run file in new tab" },
|
|
||||||
{ "<leader>rp", ":RunProject<CR>", mode = "n", noremap = true, silent = false, desc = "Run project" },
|
|
||||||
{ "<leader>rc", ":RunClose<CR>", mode = "n", noremap = true, silent = false, desc = "Close run" },
|
|
||||||
{ "<leader>crf", ":CRFiletype<CR>", mode = "n", noremap = true, silent = false, desc = "Change run filetype" },
|
|
||||||
{ "<leader>crp", ":CRProjects<CR>", mode = "n", noremap = true, silent = false, desc = "Change run projects" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
opts = {
|
|
||||||
flavour = "mocha", -- latte, frappe, macchiato, mocha
|
|
||||||
background = { -- :h background
|
|
||||||
light = "latte",
|
|
||||||
dark = "mocha",
|
|
||||||
},
|
|
||||||
color_overrides = {
|
|
||||||
mocha = {
|
|
||||||
rosewater = "#efc9c2",
|
|
||||||
flamingo = "#ebb2b2",
|
|
||||||
pink = "#f2a7de",
|
|
||||||
mauve = "#b889f4",
|
|
||||||
red = "#ea7183",
|
|
||||||
maroon = "#ea838c",
|
|
||||||
peach = "#f39967",
|
|
||||||
yellow = "#eaca89",
|
|
||||||
green = "#96d382",
|
|
||||||
teal = "#78cec1",
|
|
||||||
sky = "#91d7e3",
|
|
||||||
sapphire = "#68bae0",
|
|
||||||
blue = "#739df2",
|
|
||||||
lavender = "#a0a8f6",
|
|
||||||
text = "#b5c1f1",
|
|
||||||
subtext1 = "#a6b0d8",
|
|
||||||
subtext0 = "#959ec2",
|
|
||||||
overlay2 = "#848cad",
|
|
||||||
overlay1 = "#717997",
|
|
||||||
overlay0 = "#63677f",
|
|
||||||
surface2 = "#505469",
|
|
||||||
surface1 = "#3e4255",
|
|
||||||
surface0 = "#2c2f40",
|
|
||||||
base = "#1a1c2a",
|
|
||||||
mantle = "#141620",
|
|
||||||
crust = "#0e0f16",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
integrations = {
|
|
||||||
aerial = true,
|
|
||||||
alpha = true,
|
|
||||||
cmp = true,
|
|
||||||
dap = true,
|
|
||||||
dap_ui = true,
|
|
||||||
gitsigns = true,
|
|
||||||
illuminate = true,
|
|
||||||
markdown = true,
|
|
||||||
mason = true,
|
|
||||||
native_lsp = true,
|
|
||||||
neotree = true,
|
|
||||||
notify = true,
|
|
||||||
semantic_tokens = true,
|
|
||||||
symbols_outline = true,
|
|
||||||
telescope = true,
|
|
||||||
treesitter = true,
|
|
||||||
ts_rainbow = false,
|
|
||||||
which_key = true,
|
|
||||||
window_picker = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"scottmckendry/cyberdream.nvim",
|
|
||||||
opts = {
|
|
||||||
transparent = true,
|
|
||||||
italic_comments = true,
|
|
||||||
hide_fillchars = true,
|
|
||||||
borderless_telescope = false,
|
|
||||||
terminal_colors = false,
|
|
||||||
integrations = { rainbow_delimiters = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"loctvl842/monokai-pro.nvim",
|
|
||||||
opts = {
|
|
||||||
terminal_colors = true,
|
|
||||||
devicons = true, -- highlight the icons of `nvim-web-devicons`
|
|
||||||
filter = "pro", -- classic | octagon | pro | machine | ristretto | spectrum
|
|
||||||
plugins = {
|
|
||||||
indent_blankline = {
|
|
||||||
context_highlight = "pro", -- default | pro
|
|
||||||
context_start_underline = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
{ "ribru17/bamboo.nvim", lazy = true, opts = { integrations = { mini = true } } },
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
|
|
||||||
return {
|
|
||||||
"kmontocam/nvim-conda",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
return {
|
|
||||||
before_init = function(_, c)
|
|
||||||
if not c.settings then c.settings = {} end
|
|
||||||
if not c.settings.python then c.settings.python = {} end
|
|
||||||
c.settings.python.pythonPath = vim.fn.exepath "python"
|
|
||||||
end,
|
|
||||||
settings = {
|
|
||||||
basedpyright = {
|
|
||||||
analysis = {
|
|
||||||
-- diagnosticMode = "workspace",
|
|
||||||
diagnosticMode = "openFilesOnly",
|
|
||||||
typeCheckingMode = "basic",
|
|
||||||
autoImportCompletions = true,
|
|
||||||
autoSearchPath = true,
|
|
||||||
inlayHints = {
|
|
||||||
variableTypes = true,
|
|
||||||
functionReturnTypes = true,
|
|
||||||
callArgumentNames = true,
|
|
||||||
pytestParameters = true,
|
|
||||||
},
|
|
||||||
useLibraryCodeForTypes = true,
|
|
||||||
diagnosticSeverityOverrides = {
|
|
||||||
reportUnusedImport = "information",
|
|
||||||
reportUnusedFunction = "information",
|
|
||||||
reportUnusedVariable = "information",
|
|
||||||
-- reportGeneralTypeIssues = "none",
|
|
||||||
-- reportOptionalMemberAccess = "none",
|
|
||||||
-- reportOptionalSubscript = "none",
|
|
||||||
-- reportPrivateImportUsage = "none",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
return {
|
|
||||||
capabilities = {
|
|
||||||
offsetEncoding = "utf-8",
|
|
||||||
},
|
|
||||||
cmd = {
|
|
||||||
"clangd",
|
|
||||||
"--background-index",
|
|
||||||
"--clang-tidy",
|
|
||||||
"--all-scopes-completion",
|
|
||||||
"--header-insertion=iwyu",
|
|
||||||
"--completion-style=detailed",
|
|
||||||
"--fallback-style=Microsoft",
|
|
||||||
},
|
|
||||||
init_options = {
|
|
||||||
clangdFileStatus = true,
|
|
||||||
usePlaceholders = false,
|
|
||||||
completeUnimported = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
-- Customize lsp formatting options
|
|
||||||
return { -- control auto formatting on save
|
|
||||||
format_on_save = {
|
|
||||||
enabled = false, -- enable or disable format on save globally
|
|
||||||
allow_filetypes = { -- enable format on save for specified filetypes only
|
|
||||||
-- "go",
|
|
||||||
},
|
|
||||||
ignore_filetypes = { -- disable format on save for specified filetypes
|
|
||||||
-- "lua",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
disabled = { -- disable formatting capabilities for the listed language servers
|
|
||||||
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
|
|
||||||
-- "lua_ls",
|
|
||||||
},
|
|
||||||
timeout_ms = 1000, -- default format timeout
|
|
||||||
-- filter = function(client) -- fully override the default formatting function
|
|
||||||
-- return true
|
|
||||||
-- end
|
|
||||||
}
|
|
||||||
@@ -1,180 +0,0 @@
|
|||||||
-- Store alpha themes
|
|
||||||
|
|
||||||
local banners = {
|
|
||||||
[1] = {
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣤⣶⣶⣶⣶⣶⣦⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⢿⣿⣿⣿⡿⠿⠿⢿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⡄⠀⠀⠸⢿⣿⠟⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠘⢿⣿⡿⠁⠀⠀⣾⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⠟⢹⠛⢿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⣸⡀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣠⣼⣿⣷⣤⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠈⠉⠁⠈⠉⠁⠉⠉⠀⠉⠉⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
},
|
|
||||||
[2] = {
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ ",
|
|
||||||
" ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ ",
|
|
||||||
" ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ ",
|
|
||||||
" ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ ",
|
|
||||||
" ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ ",
|
|
||||||
" ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ ",
|
|
||||||
" ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ ",
|
|
||||||
" ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ ",
|
|
||||||
" ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ ",
|
|
||||||
" ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ ",
|
|
||||||
" ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ ",
|
|
||||||
" ",
|
|
||||||
},
|
|
||||||
[3] = {
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢀⢄⠀⠀⡴⠁⠈⡆⠀⢀⡤⡀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠢⣄⠀⠀⡇⠀⡕⠀⢸⠀⢠⠃⠀⢮⠀⠹⠀⠀⣠⢾⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⣞⠀⢀⠇⠀⡇⠀⡸⠀⠈⣆⠀⡸⠀⢰⠀⠀⡇⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠘⢶⣯⣊⣄⡨⠟⡡⠁⠐⢌⠫⢅⣢⣑⣵⠶⠁⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⣼⣀⠀⢀⠒⠒⠂⠉⠀⠀⠀⠀⠁⠐⠒⠂⡀⠀⣸⣄⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⢠⢮⣵⣶⣦⡩⡲⣄⠀⠀⣿⣿⣽⠲⠭⣥⣖⣂⣀⣀⣀⣀⣐⣢⡭⠵⠖⣿⣿⢫⠀⠀⣠⣖⣯⣶⣶⣮⡷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀",
|
|
||||||
" ⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⡟⢉⣉⠙⣿⣿⣦⠀⣿⣿⣿⣿⣷⣲⠶⠤⠭⣭⡭⠭⠴⠶⣖⣾⣿⣿⡿⢸⢀⣼⣿⡿⠋⣉⠉⢳⠁⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣶⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠮⣳⣴⣫⠂⠘⣿⣿⣇⢷⢻⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣿⣿⣿⣿⣿⢿⢃⡟⣼⣿⣿⠁⠸⣘⣢⣚⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠈⢧⢻ ⣿⣿⣟⠻⣿⣿⣿⣿⠛⣩⣿⣿ ⢟⡞⢀⣿⣿⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣒⣒⣦⣄⣿⣿⣿⢀⡬⣟⣯ ⣿⢷⣼⡟⢿⣿⡿⣿⣿ ⡻⣤⡀⣿⣿⣸⡠⢔⣒⡒⢤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀ ",
|
|
||||||
"⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇ ⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⢾⣟⣅⠉⢎⣽⣿⣿⡏⡟⣤⣮⣿⣿ ⡏⣿⠀⠀⣿⢡⣷ ⣿⣟⢎⣷⢻⣿⣿⣾⡟⠉⣽⡇⡇⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀ ",
|
|
||||||
"⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿ ⠀⡴⣫⣭⣭⣍⡲⢄⠀⠀⠀⠀⠈⠻⠋⣠⡮⣻⣿⣿⠃⠳⣏⣼⣿⣿⣿⣿⡇⣿⣴⣴⣿⣾⣿⣿⣿⡿⣄⣩⠏⢸⣿⣿⣿⣧⡀⠛⠞⠁⠀⠀⠀⢀⣤⣺⣭⣭⣭⡝⢦⠀⠀⠀⠀⢸⣿⣿⣿⡿⠿⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠿⢿⣿⣿⣿⡇ ",
|
|
||||||
"⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿ ⢸⢹⡟⠁⠀⠉⢫⡳⣵⣄⠀⠀⢀⠴⢊⣿⣾⣿⣿⣿⠀⠀⠀⠻⣬⣽⣿⣿⣿⣿ ⣿⣿⣿⣿⣯⣵⠏⠀⠀⢸⣿⣿⣿⣿⣿⣗⢤⡀⠀⠀⣠⣿⢟⠟⠉⠀⠈⢻⢸⡆⠀⠀⠀⢸⣿⣿⠏⣠⣤⡄⣠⣤⡌⢿⣿⣿⣿⣿⡿⢁⣤⣄⢀⣤⣄⠹⣿⣿⡇ ",
|
|
||||||
"⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟ ⠘⢏⢧⣤⡀⠀⠀⣇⢻⣿⣆⢔⢕⣵⠟⣏⣿⣿⣿⠋⣵⠚⠄⣾⣿⣿⣿⡿⠟⣛⣛⣛⣛⠻⣿⣿⣿⣿⣧⢰⠓⣏⠻⣿⣿⣿⢹⠻⣿⣿⢦⣸⣿⡏⡾⠀⠀⢠⣤⠎⡼⠀⠀⠀⠀⠸⣿⣿⠀⢿⣿⣿⣿⣿⡟⢸⣿⣿⣿⣿⡇⠸⣿⣿⣿⣿⡿⠀⣿⣿⠇ ",
|
|
||||||
"⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃ ⠀⠈⠑⠂⠁⠀⠀⣿⠸⣿⢏⢂⣾⠇⠀⣿⣿⣿⡇⡆⠹⢷⣴⣿⡿⠟⠉⣐⡀⠄⣠⡄⡠⣁⡠⠙⠻⢿⣿⣴⡾⠃⢠⢹⣿⣿⢸⠀⢹⣿⣷⢹⣿⢃⡇⠀⠀⠈⠒⠋⠀⠀⠀⠀⠀⠀⢻⣿⣆⠀⠙⠿⠟⠋⢀⣾⣿⣿⣿⣿⣷⡀⠈⠻⡿⠋⠁⣰⣿⡟⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀ ⠀⠀⠀⠀⠀⠀⠀⢹⡀⣿⢀⣿⣿⡀⠀⢫⣿⣿⣷⣙⠒⠀⠄⠐⠂⣼⠾⣵⠾⠟⣛⣛⠺⢷⣮⠷⣢⠐⠂⠀⠀⠒⣣⣾⣿⡿⡎⠀⢠⣿⣿⡄⣿⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣶⣶⣾⣿⣿⡿⠋⠙⢿⣿⣿⣷⣶⣶⣶⣿⣿⣿⡇⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀ ⠀⠀⠀⠀⠀⠀⠀⠘⣟⣿⢸⣿⣿⣷⣄⡈⣾⣿⣿⣿⣿⣿⠻⡷⢺⠃⠠⠁⠈⠋⠀⠀⠉⠁⠙⡀⠘⡗⣾⠿⣿⣿⣿⣿⣿⡿⢀⣴⣿⣿⡿⢃⣯⣽⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⣴⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⡆⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣵⡞⠀⠁⠐⢁⠎⠄⣠⠀⠀⡄⠀⢳⠈⠆⠈⠈⢳⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣸⡷⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣌⠛⢿⣿⣿⣿⣿⣿⣿⠿⠋⣠⣢⠂⠀⢂⠌⠀⠃⠀⠀⠘⠀⢢⡑⠀⠰⣵⡀⠻⢿⣿⣿⣿⣿⣿⣿⡿⠋⣰⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
" ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠙⠳⣤⣭⢛⣻⠿⣿⣷⣶⢞⡟⡁⢀⢄⠎⠀⠀⠀⠀⠀⡀⠁⠀⠳⢠⠀⢈⢿⢳⣶⣾⣿⠿⣟⣛⣅⡴⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠉⠙⠛⠻⠿⠿⡟⢜⠔⡠⢊⠔⠀⡆⠀⡆⠀⠀⢡⢰⢠⠀⢢⠱⣌⢂⠃⢿⠿⠿⠟⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢀⢤⣊⡰⠵⢺⠉⠸⠀⢰⢃⠀⠀⠀⠀⠀⠸⢸⠀⠀⡇⡞⡑⠬⢆⣑⢤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠈⠁⠀⠀⠀⠘⣾⡸⢀⡜⡾⡀⡇⠀⠀⡴⢠⢻⢦⠀⢃⡿⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⡎⠀⠱⡡⠐⠀⠠⠃⢢⠋⠀⢧⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢤⡀⢀⠔⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
" "
|
|
||||||
},
|
|
||||||
[4] = {
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣤⣤⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⠿⠿⠿⠿⢿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⣾⣿⣿⠀⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⠀⣿⣿⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣾⣿⡿⠟⠛⠉⠉⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠉⠉⠛⠻⢿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⡿⠋⠀⠀⠀⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠙⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠃⠀⠀⣠⣶⣾⣿⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⣿⣷⣦⣄⠀⠀⠸⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⢀⣾⣿⡿⠛⠉⠀⣿⣿⡇⠀⠀⣀⣀⠀⠀⠀⠀⠀⣀⣀⠀⠀⢸⣿⣿⠀⠉⠛⢿⣿⣷⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣆⢸⣿⣿⠀⠀⠀⠀⣿⣿⡇⠀⢾⣿⣿⡇⠀⠀⠀⢾⣿⣿⡇⠀⢸⣿⣿⠀⠀⠀⠈⣿⣿⡇⣼⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣄⠀⠀⠀⣿⣿⡇⠀⠈⠙⠋⠀⠀⠀⠀⠈⠙⠋⠀⠀⢸⣿⣿⠀⠀⠀⣰⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣷⣶⣶⣿⣿⣿⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣿⣿⣿⣶⣶⣿⣿⣿⣿⡿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠛⠛⠛⠛⠛⠛⢻⣿⣿⠛⣿⣿⣿⢻⣿⣿⠛⠛⠛⠛⠛⠛⠛⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣈⣉⣉⣉⣉⡉⢹⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡏⢉⣉⣉⣉⣉⣁⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⢸⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⢸⣿⣿⠀⢸⣿⣿⠀⣿⣿⣿⢸⣿⣿⠀⠀⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⢸⣿⣿⣄⣼⣿⣿⠀⣿⣿⣿⠸⣿⣿⣆⣠⣿⣿⡇⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣄⠻⢿⣿⣿⠿⢋⣴⣿⣿⣿⣦⡙⠿⣿⣿⡿⠛⣠⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣷⣶⣤⣴⣶⣿⣿⠿⠙⢿⣿⣿⣶⣦⣴⣶⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⠿⠛⠋⠁⠀⠀⠀⠈⠙⠛⠿⠿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
},
|
|
||||||
[5] = {
|
|
||||||
[[ ██████ ]],
|
|
||||||
[[ ████▒▒▒▒▒▒████ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒ ▒▒▓▓▒▒▒▒▒▒ ▓▓▓▓ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒ ▒▒▓▓▒▒▒▒▒▒ ▒▒▓▓ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ██ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
|
||||||
[[ ██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██ ]],
|
|
||||||
[[ ██▒▒██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒██▒▒▒▒██ ]],
|
|
||||||
[[ ████ ██▒▒██ ██▒▒▒▒██ ██▒▒██ ]],
|
|
||||||
[[ ██ ██ ████ ████ ]],
|
|
||||||
},
|
|
||||||
[7] = {
|
|
||||||
"⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣶⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⣶⣶⣿⣿⣿⣷⣶⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡿⠿⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠿⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿⠀⠀⠀⠀⠀⠀⢸⣿⣿⠏⣠⣤⡄⣠⣤⡌⢿⣿⣿⣿⣿⡿⢁⣤⣄⢀⣤⣄⠹⣿⣿⡇⠀⠀⠀⠀⠀⢺⣿⣿⡿⠋⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟⠀⠀⠀⠀⠀⠀⠸⣿⣿⠀⢿⣿⣿⣿⣿⡟⢸⣿⣿⣿⣿⡇⠸⣿⣿⣿⣿⡿⠀⣿⣿⠇⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠋⠁⠠⢴⣾⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⢻⣿⣆⠀⠙⠿⠟⠋⢀⣾⣿⣿⣿⣿⣷⡀⠈⠻⡿⠋⠁⣰⣿⡟⠀⠀⠀⠀⠀⠀⠀⢿⣿⣷⣄⠀⠀⠀⢀⣰⣿⣿⣿⣿⣿⣿⣷⣶⣦⣤⣄⣼⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣶⣶⣾⣿⣿⡿⠋⠙⢿⣿⣿⣷⣶⣶⣶⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⣾⣿⣿⣿⡟⢻⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⣴⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⣼⣆⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
},
|
|
||||||
[8] = {
|
|
||||||
"⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡟⠁⠀⠀⠀⠈⢻⣿⣿⣿⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠛⠛⠛⠛⠛⠛⢛⣿⣮⣿⣿⣿⠀⠀⠀⠀⠀⠀⢈⣿⣿⡟⠀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢀⣼⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⠟⠉⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣠⣷⡀⢹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠛⠋⠛⠙⠛⠙⠛⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
},
|
|
||||||
[9] = {
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣶⣿⣿⣿⣿⣶⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡿⠿⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠟⠛⠿⢿⣿⣿⣿⡇⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⢸⣿⣿⠏⣠⣤⡄⣠⣤⡌⢿⣿⣿⣿⣿⡿⢁⣤⣄⢀⣤⣄⠹⣿⣿⡇⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠸⣿⣿⠀⢿⣿⣿⣿⣿⡟⢸⣿⣿⣿⣿⡇⠸⣿⣿⣿⣿⡿⠀⣿⣿⠇⠀⠀⠀⠀⠀ ",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⢻⣿⣆⠀⠙⠿⠟⠋⢀⣾⣿⣿⣿⣿⣷⡀⠈⠻⡿⠋⠁⣰⣿⡟⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣶⣶⣾⣿⣿⡿⠋⠙⢿⣿⣿⣷⣶⣶⣶⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⣴⣧⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
"⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠙⠛⠙⠛⠛⠋⠛⠋⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀",
|
|
||||||
},
|
|
||||||
[10] = {
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ ]],
|
|
||||||
[[ __ ]],
|
|
||||||
[[ ___ ___ ___ __ __ /\_\ ___ ___ ]],
|
|
||||||
[[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]],
|
|
||||||
[[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
|
|
||||||
[[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]],
|
|
||||||
[[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]],
|
|
||||||
[[ Welcome ]],
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return banners
|
|
||||||
@@ -1,215 +0,0 @@
|
|||||||
local M = {}
|
|
||||||
|
|
||||||
local status = require "astroui.status"
|
|
||||||
local get_icon = require("astroui").get_icon
|
|
||||||
local is_available = require("astrocore").is_available
|
|
||||||
local path_func = status.provider.filename { modify = ":.:h", fallback = "" }
|
|
||||||
|
|
||||||
-- custom statusline
|
|
||||||
M.statusline = {
|
|
||||||
hl = { fg = "fg", bg = "bg" },
|
|
||||||
-- Show mode text
|
|
||||||
status.component.mode {
|
|
||||||
-- enable mode text with padding as well as an icon before it
|
|
||||||
mode_text = {
|
|
||||||
icon = { kind = "Mode", padding = { left = 0, right = 1 } },
|
|
||||||
},
|
|
||||||
-- surround the component with a separators
|
|
||||||
surround = {
|
|
||||||
separator = "left",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
status.component.file_info {
|
|
||||||
file_icon = { padding = { left = 0, right = 1 } },
|
|
||||||
filename = { fallback = "Empty" },
|
|
||||||
filetype = false,
|
|
||||||
file_modified = false,
|
|
||||||
surround = {
|
|
||||||
separator = "none",
|
|
||||||
color = "bg",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
status.component.git_branch {
|
|
||||||
padding = { left = 2, right = 1 },
|
|
||||||
surround = {
|
|
||||||
separator = "none",
|
|
||||||
color = "bg",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Add a icon to represent diagnostic and git git diff
|
|
||||||
-- status.component.builder {
|
|
||||||
-- provider = function() return get_icon "Diagnostic" .. "/" .. get_icon "Github" end,
|
|
||||||
-- hl = { fg = "black" },
|
|
||||||
-- surround = {
|
|
||||||
-- separator = { " ", "" },
|
|
||||||
-- color = "#81ab9e",
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
status.component.diagnostics {
|
|
||||||
surround = {
|
|
||||||
separator = "none",
|
|
||||||
color = "bg",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
status.component.git_diff {
|
|
||||||
padding = { left = 1 },
|
|
||||||
surround = {
|
|
||||||
separator = "none",
|
|
||||||
color = "bg",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
status.component.fill(),
|
|
||||||
-- Show search counts and results
|
|
||||||
{
|
|
||||||
condition = function(self)
|
|
||||||
local query = vim.fn.getreg "/"
|
|
||||||
if query == "" then return false end
|
|
||||||
query = query:gsub([[^\V]], "")
|
|
||||||
query = query:gsub([[\<]], ""):gsub([[\>]], "")
|
|
||||||
|
|
||||||
local search_count = vim.fn.searchcount { recompute = 1, maxcount = -1 }
|
|
||||||
if search_count.total == 0 then return false end
|
|
||||||
|
|
||||||
self.query = query
|
|
||||||
self.count = search_count
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
status.component.builder {
|
|
||||||
provider = function(self)
|
|
||||||
return status.utils.stylize(" " .. self.query .. " " .. self.count.current .. "/" .. self.count.total, {
|
|
||||||
icon = { kind = "Search" },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
hl = { fg = "black" },
|
|
||||||
surround = {
|
|
||||||
separator = "left",
|
|
||||||
color = "search_bg",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Show file encoding
|
|
||||||
status.component.builder {
|
|
||||||
provider = function()
|
|
||||||
return status.utils.stylize(string.upper(vim.bo.fileencoding), {
|
|
||||||
icon = { kind = "FileEncoding", padding = { right = 1 } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
hl = { fg = "text_fg" },
|
|
||||||
padding = { right = 1 },
|
|
||||||
},
|
|
||||||
-- Show tab width
|
|
||||||
status.component.builder {
|
|
||||||
provider = function()
|
|
||||||
return status.utils.stylize(tostring(vim.bo.tabstop), {
|
|
||||||
icon = { kind = "TabWidth", padding = { right = 1 } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
hl = { fg = "text_fg" },
|
|
||||||
padding = { right = 1 },
|
|
||||||
},
|
|
||||||
-- Show Grapple tag
|
|
||||||
status.component.builder {
|
|
||||||
condition = function()
|
|
||||||
if status.condition.is_file and is_available "grapple.nvim" then return true end
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
provider = function()
|
|
||||||
local tag = tostring(require("grapple").name_or_index())
|
|
||||||
if tag == "nil" then tag = "NO" end
|
|
||||||
return status.utils.stylize(tag, {
|
|
||||||
icon = { kind = "Grapple", padding = { right = 1 } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
|
|
||||||
hl = { fg = "text_fg" },
|
|
||||||
padding = { right = 1 },
|
|
||||||
},
|
|
||||||
-- Show Codeium status
|
|
||||||
status.component.builder {
|
|
||||||
condition = function()
|
|
||||||
if status.condition.lsp_attached and is_available "neocodeium" then return true end
|
|
||||||
return false
|
|
||||||
end,
|
|
||||||
provider = function()
|
|
||||||
local codeium_status = "OFF"
|
|
||||||
if require("neocodeium.options").options.enabled == true then codeium_status = "ON" end
|
|
||||||
return status.utils.stylize(codeium_status, {
|
|
||||||
icon = { kind = "Codeium", padding = { right = 1 } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
hl = { fg = "text_fg" },
|
|
||||||
padding = { right = 1 },
|
|
||||||
},
|
|
||||||
status.component.lsp {
|
|
||||||
lsp_client_names = {
|
|
||||||
icon = { kind = "ActiveLSP", padding = { right = 1 } },
|
|
||||||
},
|
|
||||||
surround = { separator = "left" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
status.component.builder {
|
|
||||||
{ provider = get_icon "ScrollText" },
|
|
||||||
padding = { right = 1 },
|
|
||||||
hl = { fg = "black" },
|
|
||||||
surround = {
|
|
||||||
separator = { " ", "" },
|
|
||||||
color = { main = "nav_icon_bg", left = "bg" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
status.component.nav {
|
|
||||||
percentage = { padding = { left = 0 } },
|
|
||||||
ruler = false,
|
|
||||||
scrollbar = false,
|
|
||||||
surround = { separator = { "", "" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- custom winbar
|
|
||||||
M.winbar = {
|
|
||||||
-- store the current buffer number
|
|
||||||
init = function(self) self.bufnr = vim.api.nvim_get_current_buf() end,
|
|
||||||
fallthrough = false, -- pick the correct winbar based on condition
|
|
||||||
-- inactive winbar
|
|
||||||
{
|
|
||||||
condition = function() return not status.condition.is_active() end,
|
|
||||||
-- show the path to the file relative to the working directory
|
|
||||||
status.component.separated_path { path_func = path_func },
|
|
||||||
-- add the file name and icon
|
|
||||||
status.component.file_info {
|
|
||||||
file_icon = { hl = status.hl.file_icon "winbar", padding = { left = 0 } },
|
|
||||||
filename = {},
|
|
||||||
filetype = false,
|
|
||||||
file_modified = false,
|
|
||||||
file_read_only = false,
|
|
||||||
hl = status.hl.get_attributes("winbarnc", true),
|
|
||||||
surround = false,
|
|
||||||
update = "BufEnter",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- active winbar
|
|
||||||
{
|
|
||||||
-- show the path to the file relative to the working directory
|
|
||||||
status.component.separated_path { path_func = path_func },
|
|
||||||
-- add the file name and icon
|
|
||||||
status.component.file_info { -- add file_info to breadcrumbs
|
|
||||||
file_icon = { hl = status.hl.filetype_color, padding = { left = 0 } },
|
|
||||||
filename = {},
|
|
||||||
filetype = false,
|
|
||||||
file_modified = false,
|
|
||||||
file_read_only = false,
|
|
||||||
hl = status.hl.get_attributes("winbar", true),
|
|
||||||
surround = false,
|
|
||||||
update = "BufEnter",
|
|
||||||
},
|
|
||||||
-- show the breadcrumbs
|
|
||||||
status.component.breadcrumbs {
|
|
||||||
icon = { hl = true },
|
|
||||||
hl = status.hl.get_attributes("winbar", true),
|
|
||||||
prefix = true,
|
|
||||||
padding = { left = 0 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return M
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
return {
|
|
||||||
init = function() -- this table overrides highlights in all themes
|
|
||||||
local get_hlgroup = require("astroui").get_hlgroup
|
|
||||||
local ui = require "astroui"
|
|
||||||
local utils = require "astrocore"
|
|
||||||
|
|
||||||
local hl = {
|
|
||||||
-- remove background of virtual texts
|
|
||||||
DiagnosticVirtualTextError = { fg = get_hlgroup("DiagnosticError").fg, bg = "none" },
|
|
||||||
DiagnosticVirtualTextHint = { fg = get_hlgroup("DiagnosticHint").fg, bg = "none" },
|
|
||||||
DiagnosticVirtualTextInfo = { fg = get_hlgroup("DiagnosticInfo").fg, bg = "none" },
|
|
||||||
DiagnosticVirtualTextWarn = { fg = get_hlgroup("DiagnosticWarn").fg, bg = "none" },
|
|
||||||
|
|
||||||
-- remove background of inlay hints
|
|
||||||
LspInlayHint = { fg = get_hlgroup("LspInlayHint").fg, bg = "none" },
|
|
||||||
}
|
|
||||||
|
|
||||||
if utils.is_available "kanagawa.nvim" and ui.config.colorscheme == "kanagawa" then
|
|
||||||
local colors = require("kanagawa.colors").setup()
|
|
||||||
local theme = colors.theme
|
|
||||||
hl = utils.extend_tbl(hl, {
|
|
||||||
Pmenu = { fg = theme.ui.shade0, bg = theme.ui.bg_p1 }, -- add `blend = vim.o.pumblend` to enable transparency
|
|
||||||
PmenuSel = { fg = "NONE", bg = theme.ui.bg_p2 },
|
|
||||||
PmenuSbar = { bg = theme.ui.bg_m1 },
|
|
||||||
PmenuThumb = { bg = theme.ui.bg_p2 },
|
|
||||||
TelescopeTitle = { fg = theme.ui.special, bold = true },
|
|
||||||
TelescopePromptNormal = { bg = theme.ui.bg_p1 },
|
|
||||||
TelescopePromptBorder = { fg = theme.ui.bg_p1, bg = theme.ui.bg_p1 },
|
|
||||||
TelescopeResultsNormal = { fg = theme.ui.fg_dim, bg = theme.ui.bg_m1 },
|
|
||||||
TelescopeResultsBorder = { fg = theme.ui.bg_m1, bg = theme.ui.bg_m1 },
|
|
||||||
TelescopePreviewNormal = { bg = theme.ui.bg_dim },
|
|
||||||
TelescopePromptNormalopePreviewBorder = { bg = theme.ui.bg_dim, fg = theme.ui.bg_dim },
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
return hl
|
|
||||||
end,
|
|
||||||
astrotheme = { -- a table of overrides/changes when applying the astrotheme theme
|
|
||||||
-- Normal = { bg = "#000000" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
return {
|
|
||||||
-- LSP
|
|
||||||
ActiveLSP = "",
|
|
||||||
ActiveTS = "",
|
|
||||||
LSPLoaded = "",
|
|
||||||
LSPLoading1 = "⠋",
|
|
||||||
LSPLoading2 = "⠙",
|
|
||||||
LSPLoading3 = "⠹",
|
|
||||||
LSPLoading4 = "⠸",
|
|
||||||
LSPLoading5 = "⠼",
|
|
||||||
LSPLoading6 = "⠴",
|
|
||||||
LSPLoading7 = "⠦",
|
|
||||||
LSPLoading8 = "⠧",
|
|
||||||
LSPLoading9 = "⠇",
|
|
||||||
LSPLoading10 = "⠏",
|
|
||||||
-- Git
|
|
||||||
Github = " ",
|
|
||||||
GitAdd = "",
|
|
||||||
GitBranch = "",
|
|
||||||
GitChange = "",
|
|
||||||
GitConflict = "",
|
|
||||||
GitDelete = "",
|
|
||||||
GitIgnored = "",
|
|
||||||
GitRenamed = "",
|
|
||||||
GitStaged = "✓",
|
|
||||||
GitUnstaged = "✗",
|
|
||||||
GitUntracked = "★",
|
|
||||||
Neogit = "",
|
|
||||||
-- Files
|
|
||||||
Ellipsis = "",
|
|
||||||
DefaultFile = "",
|
|
||||||
FileModified = "",
|
|
||||||
FileReadOnly = "",
|
|
||||||
FoldClosed = "",
|
|
||||||
FoldOpened = "",
|
|
||||||
FolderClosed = "",
|
|
||||||
FolderEmpty = "",
|
|
||||||
FolderOpen = "",
|
|
||||||
-- DAP
|
|
||||||
DapBreakpoint = "",
|
|
||||||
DapBreakpointCondition = "",
|
|
||||||
DapBreakpointRejected = "",
|
|
||||||
DapLogPoint = "",
|
|
||||||
DapStopped = "",
|
|
||||||
-- Diagnostics
|
|
||||||
Diagnostic = " ",
|
|
||||||
DiagnosticError = "",
|
|
||||||
DiagnosticHint = "",
|
|
||||||
DiagnosticInfo = "",
|
|
||||||
DiagnosticWarn = "",
|
|
||||||
-- Misc
|
|
||||||
Mode = " ",
|
|
||||||
FileEncoding = "",
|
|
||||||
ScrollText = "",
|
|
||||||
TabWidth = "",
|
|
||||||
Search = "",
|
|
||||||
Grapple = "",
|
|
||||||
Codeium = "",
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
-- LSP kind symbol map
|
|
||||||
return {
|
|
||||||
Array = "",
|
|
||||||
Boolean = "",
|
|
||||||
Class = "",
|
|
||||||
Color = "",
|
|
||||||
Constant = "",
|
|
||||||
Constructor = "",
|
|
||||||
Enum = "",
|
|
||||||
EnumMember = "",
|
|
||||||
Event = "",
|
|
||||||
Field = "",
|
|
||||||
File = "",
|
|
||||||
Folder = "",
|
|
||||||
Function = "",
|
|
||||||
Interface = "",
|
|
||||||
Key = "",
|
|
||||||
Keyword = "",
|
|
||||||
Method = "",
|
|
||||||
Module = "",
|
|
||||||
Namespace = "",
|
|
||||||
Null = "",
|
|
||||||
Number = "",
|
|
||||||
Object = "",
|
|
||||||
Operator = "",
|
|
||||||
Package = "",
|
|
||||||
Property = "",
|
|
||||||
Reference = "",
|
|
||||||
Snippet = "",
|
|
||||||
String = "",
|
|
||||||
Struct = "",
|
|
||||||
Text = "",
|
|
||||||
TypeParameter = "",
|
|
||||||
Unit = "ﱦ",
|
|
||||||
Value = "",
|
|
||||||
Variable = "",
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
return {
|
|
||||||
separators = {
|
|
||||||
left = { " ", " " }, -- separator for the left side of the statusline
|
|
||||||
right = { " ", "" }, -- separator for the right side of the statusline
|
|
||||||
-- tab = { "", "" },
|
|
||||||
},
|
|
||||||
colors = function(hl)
|
|
||||||
local get_hlgroup = require("astroui").get_hlgroup
|
|
||||||
-- use helper function to get highlight group properties
|
|
||||||
hl.text_fg = "#60b2a7"
|
|
||||||
hl.insert = "#a9b665"
|
|
||||||
hl.visual = "#e8b142"
|
|
||||||
hl.replace = "#ea6962"
|
|
||||||
hl.terminal = "#a89984"
|
|
||||||
hl.file_info_fg = hl.text_fg
|
|
||||||
hl.file_info_bg = "#bac2de"
|
|
||||||
hl.git_branch_fg = "#bd81b6"
|
|
||||||
hl.git_branch_bg = "#f5c2e7"
|
|
||||||
hl.lsp_fg = "black"
|
|
||||||
hl.lsp_bg = "#7fb4ca"
|
|
||||||
hl.search_bg = "#c8c093"
|
|
||||||
hl.grapple_bg = "#eba0ac"
|
|
||||||
hl.file_encoding_bg = "#f7768e"
|
|
||||||
hl.tab_width_bg = "#ff966c"
|
|
||||||
hl.nav_fg = "black"
|
|
||||||
hl.nav_bg = get_hlgroup("String").fg
|
|
||||||
hl.nav_icon_bg = hl.nav_bg
|
|
||||||
hl.normal = "#ade8f4"
|
|
||||||
return hl
|
|
||||||
end,
|
|
||||||
attributes = {
|
|
||||||
mode = { bold = true },
|
|
||||||
file_info = { bold = false },
|
|
||||||
git_branch = { bold = false },
|
|
||||||
diagnostics = { bold = false },
|
|
||||||
git_diff = { bold = false },
|
|
||||||
lsp = { bold = false },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
return function(opts)
|
|
||||||
return require("astrocore").extend_tbl(opts, {
|
|
||||||
-- table: default groups
|
|
||||||
groups = {
|
|
||||||
"Normal",
|
|
||||||
"NormalNC",
|
|
||||||
"Comment",
|
|
||||||
"Constant",
|
|
||||||
"Special",
|
|
||||||
"Identifier",
|
|
||||||
"Statement",
|
|
||||||
"PreProc",
|
|
||||||
"Type",
|
|
||||||
"Underlined",
|
|
||||||
"Todo",
|
|
||||||
"String",
|
|
||||||
"Function",
|
|
||||||
"Conditional",
|
|
||||||
"Repeat",
|
|
||||||
"Operator",
|
|
||||||
"Structure",
|
|
||||||
"LineNr",
|
|
||||||
"NonText",
|
|
||||||
"SignColumn",
|
|
||||||
"CursorLineNr",
|
|
||||||
"EndOfBuffer",
|
|
||||||
},
|
|
||||||
-- table: additional groups that should be cleared
|
|
||||||
extra_groups = {
|
|
||||||
-- "NormalFloat",
|
|
||||||
-- "NvimTreeNormal",
|
|
||||||
-- "NeoTreeNormal",
|
|
||||||
-- "NeoTreeFloatBorder",
|
|
||||||
-- "NeoTreeNormalNC",
|
|
||||||
},
|
|
||||||
-- table: groups you don't want to clear
|
|
||||||
exclude_groups = {},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
-- Plugins to disable
|
|
||||||
return {
|
|
||||||
{ "nvim-neo-tree/neo-tree.nvim", enabled = true },
|
|
||||||
{ "s1n7ax/nvim-window-picker", enabled = false },
|
|
||||||
{ "akinsho/toggleterm.nvim", enabled = false },
|
|
||||||
{ "NvChad/nvim-colorizer.lua", enabled = false },
|
|
||||||
{ "catppuccin/nvim", name = "catppuccin", enabled = false },
|
|
||||||
{ "rebelot/kanagawa.nvim", enabled = false },
|
|
||||||
{ "folke/tokyonight.nvim", enabled = false },
|
|
||||||
{ "f4z3r/gruvbox-material.nvim", name = "gruvbox-material", enabled = false },
|
|
||||||
{ "b0o/SchemaStore.nvim", enabled = false },
|
|
||||||
|
|
||||||
{ "ray-x/lsp_signature.nvim", enabled = false },
|
|
||||||
{ "kmontocam/nvim-conda", enabled = false },
|
|
||||||
{ "NMAC427/guess-indent.nvim", enabled = false },
|
|
||||||
{ "lukas-reineke/indent-blankline.nvim", enabled = false },
|
|
||||||
{ "chipsenkbeil/distant.nvim", enabled = false },
|
|
||||||
{ "gen740/SmoothCursor.nvim", enabled = false },
|
|
||||||
{ "stevearc/resession.nvim", enabled = true },
|
|
||||||
{ "AstroNvim/astrotheme", enabled = false },
|
|
||||||
{ "echasnovski/mini.move", enabled = true },
|
|
||||||
{ "scottmckendry/cyberdream.nvim", enabled = false },
|
|
||||||
{ "HiPhish/rainbow-delimiters.nvim", enabled = true },
|
|
||||||
{ "xiyaowong/transparent.nvim", enabled = true },
|
|
||||||
{ "MagicDuck/grug-far.nvim", enabled = false },
|
|
||||||
{ "loctvl842/monokai-pro.nvim", enabled = false },
|
|
||||||
{ "xiyaowong/transparent.nvim", enabled = false },
|
|
||||||
{ "iamcco/markdown-preview.nvim", enabled = false },
|
|
||||||
{ "max397574/better-escape.nvim", enabled = false },
|
|
||||||
|
|
||||||
-- { "hrsh7th/nvim-cmp", enabled = false },
|
|
||||||
}
|
|
||||||
|
|
||||||
-- if true then return {} end
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
|
|
||||||
-- NOTE: control remote pc
|
|
||||||
return {
|
|
||||||
"chipsenkbeil/distant.nvim",
|
|
||||||
branch = "v0.3",
|
|
||||||
event = "VimEnter",
|
|
||||||
cmd = {
|
|
||||||
"DistantLaunch",
|
|
||||||
"DistantOpen",
|
|
||||||
"DistantConnect",
|
|
||||||
"DistantInstall",
|
|
||||||
"DistantMetadata",
|
|
||||||
"DistantShell",
|
|
||||||
"DistantShell",
|
|
||||||
"DistantSystemInfo",
|
|
||||||
"DistantClientVersion",
|
|
||||||
"DistantSessionInfo",
|
|
||||||
"DistantCopy",
|
|
||||||
},
|
|
||||||
config = function() require("distant"):setup() end,
|
|
||||||
}
|
|
||||||
@@ -1,266 +0,0 @@
|
|||||||
local rainbow = require "plugins.ts-rainbow"
|
|
||||||
-- Plugins that enhance editor experience
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"numToStr/Comment.nvim",
|
|
||||||
opts = {
|
|
||||||
-- Ignore empty line
|
|
||||||
ignore = "^$",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<C-_>",
|
|
||||||
function() require("Comment.api").toggle.linewise.count(vim.v.count > 0 and vim.v.count or 1) end,
|
|
||||||
mode = { "n", "i" },
|
|
||||||
desc = "Comment line",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<C-_>",
|
|
||||||
"<Esc><Cmd>lua require('Comment.api').toggle.linewise(vim.fn.visualmode())<CR>",
|
|
||||||
mode = { "v" },
|
|
||||||
desc = "Comment block",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Built-in terminal support
|
|
||||||
{
|
|
||||||
"akinsho/toggleterm.nvim",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- Use powershell for toggleterm on windows
|
|
||||||
-- if vim.fn.has "win32" then opts.shell = "pwsh.exe" end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- File tagging and navigation
|
|
||||||
-- {
|
|
||||||
-- "cbochs/grapple.nvim",
|
|
||||||
-- dependencies = {
|
|
||||||
-- "nvim-lua/plenary.nvim",
|
|
||||||
-- {
|
|
||||||
-- "AstroNvim/astrocore",
|
|
||||||
-- opts = function(_, opts)
|
|
||||||
-- opts.mappings.n["<Leader><Leader>"] = { desc = require("astroui").get_icon("Grapple", 1, true) .. "Grapple" }
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- opts = {
|
|
||||||
-- scope = "git_branch",
|
|
||||||
-- },
|
|
||||||
-- cmd = { "Grapple" },
|
|
||||||
-- keys = {
|
|
||||||
-- { "<Leader><Leader>a", "<Cmd>Grapple tag<CR>", desc = "Add tag to file" },
|
|
||||||
-- { "<Leader><Leader>d", "<Cmd>Grapple untag<CR>", desc = "Delete tag from file" },
|
|
||||||
-- { "<Leader><Leader>e", "<Cmd>Grapple toggle_tags<CR>", desc = "Select from tags" },
|
|
||||||
-- { "<Leader><Leader>s", "<Cmd>Grapple toggle_scopes<CR>", desc = "Select a project scope" },
|
|
||||||
-- { "<Leader><Leader>x", "<Cmd>Grapple reset<CR>", desc = "Clear tags" },
|
|
||||||
-- { "<C-e>", "<Cmd>Grapple cycle forward<CR>", desc = "Select next tag" },
|
|
||||||
-- { "<C-p>", "<Cmd>Grapple cycle backward<CR>", desc = "Select previous tag" },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- Better escape support
|
|
||||||
-- {
|
|
||||||
-- "max397574/better-escape.nvim",
|
|
||||||
-- opts = {
|
|
||||||
-- mapping = { "jj", "kk", "jk" },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- Better indent blankline
|
|
||||||
-- {
|
|
||||||
-- "shellRaining/hlchunk.nvim",
|
|
||||||
-- event = { "BufReadPre", "BufNewFile" },
|
|
||||||
-- config = function(_, opts)
|
|
||||||
-- require("hlchunk").setup(require("astrocore").extend_tbl(opts, {
|
|
||||||
-- ignore = {},
|
|
||||||
-- chunk = {
|
|
||||||
-- enable = true,
|
|
||||||
-- notify = false,
|
|
||||||
-- chars = {
|
|
||||||
-- -- horizontal_line = "━",
|
|
||||||
-- -- vertical_line = "┃",
|
|
||||||
-- -- left_top = "┏",
|
|
||||||
-- -- left_bottom = "┗",
|
|
||||||
-- -- right_arrow = "➤",
|
|
||||||
-- },
|
|
||||||
-- style = "#06D001",
|
|
||||||
-- delay = 25,
|
|
||||||
-- },
|
|
||||||
-- indent = {
|
|
||||||
-- enable = false,
|
|
||||||
-- use_treesitter = true,
|
|
||||||
-- chars = {
|
|
||||||
-- "│",
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- blank = {
|
|
||||||
-- enable = false,
|
|
||||||
-- chars = {
|
|
||||||
-- " ",
|
|
||||||
-- },
|
|
||||||
-- style = {
|
|
||||||
-- { bg = "#434437" },
|
|
||||||
-- { bg = "#2f4440" },
|
|
||||||
-- { bg = "#433054" },
|
|
||||||
-- { bg = "#284251" },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- line_num = {
|
|
||||||
-- enable = false,
|
|
||||||
-- },
|
|
||||||
-- }))
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- AI code completion
|
|
||||||
-- {
|
|
||||||
-- "monkoose/neocodeium",
|
|
||||||
-- event = "LspAttach",
|
|
||||||
-- config = function()
|
|
||||||
-- local neocodeium = require "neocodeium"
|
|
||||||
-- neocodeium.setup()
|
|
||||||
-- vim.keymap.set("n", "<Leader>;", function() require("neocodeium.commands").toggle() end)
|
|
||||||
-- vim.keymap.set("i", "<A-a>", function() require("neocodeium").accept() end)
|
|
||||||
-- vim.keymap.set("i", "<C-Right>", function() require("neocodeium").accept_word() end)
|
|
||||||
-- vim.keymap.set("i", "<A-e>", function() require("neocodeium").accept_line() end)
|
|
||||||
-- vim.keymap.set("i", "<S-Right>", function() require("neocodeium").cycle_or_complete() end)
|
|
||||||
-- vim.keymap.set("i", "<S-Left>", function() require("neocodeium").cycle_or_complete(-1) end)
|
|
||||||
-- vim.keymap.set("i", "<C-x>", function() require("neocodeium").clear() end)
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- Multi-cursors support
|
|
||||||
{
|
|
||||||
"brenton-leighton/multiple-cursors.nvim",
|
|
||||||
version = "*",
|
|
||||||
opts = {},
|
|
||||||
keys = {
|
|
||||||
{ "<C-Down>", "<Cmd>MultipleCursorsAddDown<CR>", mode = { "n", "i", "x" } },
|
|
||||||
{ "<C-Up>", "<Cmd>MultipleCursorsAddUp<CR>", mode = { "n", "i", "x" } },
|
|
||||||
{ "<A-LeftMouse>", "<Cmd>MultipleCursorsMouseAddDelete<CR>", mode = { "n", "i" } },
|
|
||||||
{ "<Leader>a", "<Cmd>MultipleCursorsAddMatches<CR>", mode = { "n", "x" } },
|
|
||||||
{ "<C-D>", "<Cmd>MultipleCursorsAddJumpNextMatch<CR>", mode = { "n", "x" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Better code folding
|
|
||||||
{
|
|
||||||
"kevinhwang91/nvim-ufo",
|
|
||||||
opts = {
|
|
||||||
-- Add virtual text to show how many lines are folded
|
|
||||||
fold_virt_text_handler = function(virtText, lnum, endLnum, width, truncate)
|
|
||||||
local newVirtText = {}
|
|
||||||
local suffix = (" %d "):format(endLnum - lnum)
|
|
||||||
local sufWidth = vim.fn.strdisplaywidth(suffix)
|
|
||||||
local targetWidth = width - sufWidth
|
|
||||||
local curWidth = 0
|
|
||||||
for _, chunk in ipairs(virtText) do
|
|
||||||
local chunkText = chunk[1]
|
|
||||||
local chunkWidth = vim.fn.strdisplaywidth(chunkText)
|
|
||||||
if targetWidth > curWidth + chunkWidth then
|
|
||||||
table.insert(newVirtText, chunk)
|
|
||||||
else
|
|
||||||
chunkText = truncate(chunkText, targetWidth - curWidth)
|
|
||||||
local hlGroup = chunk[2]
|
|
||||||
table.insert(newVirtText, { chunkText, hlGroup })
|
|
||||||
chunkWidth = vim.fn.strdisplaywidth(chunkText)
|
|
||||||
-- str width returned from truncate() may less than 2nd argument, need padding
|
|
||||||
if curWidth + chunkWidth < targetWidth then
|
|
||||||
suffix = suffix .. (" "):rep(targetWidth - curWidth - chunkWidth)
|
|
||||||
end
|
|
||||||
break
|
|
||||||
end
|
|
||||||
curWidth = curWidth + chunkWidth
|
|
||||||
end
|
|
||||||
table.insert(newVirtText, { suffix, "MoreMsg" })
|
|
||||||
return newVirtText
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Better split navigation and resize
|
|
||||||
{
|
|
||||||
"mrjones2014/smart-splits.nvim",
|
|
||||||
event = "VeryLazy", -- load on very lazy for mux detection
|
|
||||||
opts = function(_, opts)
|
|
||||||
opts.ignored_filetypes = { "nofile", "quickfix", "qf", "prompt" }
|
|
||||||
opts.ignored_buftypes = { "nofile" }
|
|
||||||
end,
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<C-h>",
|
|
||||||
function() require("smart-splits").move_cursor_left() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Move to left split",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<C-l>",
|
|
||||||
function() require("smart-splits").move_cursor_right() end,
|
|
||||||
mode = { "n", "t" },
|
|
||||||
desc = "Move to right split",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<C-k>",
|
|
||||||
function() require("smart-splits").move_cursor_up() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Move to above split",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<C-j>",
|
|
||||||
function() require("smart-splits").move_cursor_down() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Move to below split",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<A-Left>",
|
|
||||||
function() require("smart-splits").resize_left() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Resize split left",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<A-Right>",
|
|
||||||
function() require("smart-splits").resize_right() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Resize split right",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<A-Up>",
|
|
||||||
function() require("smart-splits").resize_up() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Resize split up",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<A-Down>",
|
|
||||||
function() require("smart-splits").resize_down() end,
|
|
||||||
mode = { "n" },
|
|
||||||
desc = "Resize split down",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- -- Find and replace
|
|
||||||
-- {
|
|
||||||
-- "MagicDuck/grug-far.nvim",
|
|
||||||
-- cmd = "GrugFar",
|
|
||||||
-- config = function()
|
|
||||||
-- require("grug-far").setup {
|
|
||||||
-- windowCreationCommand = "tabnew",
|
|
||||||
-- }
|
|
||||||
-- end,
|
|
||||||
-- keys = {
|
|
||||||
-- {
|
|
||||||
-- "<Leader>R",
|
|
||||||
-- function() require("grug-far").grug_far { prefills = { search = vim.fn.expand "<cword>" } } end,
|
|
||||||
-- mode = { "n" },
|
|
||||||
-- desc = "Open GrugFar",
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
-- Markdown preview support
|
|
||||||
{
|
|
||||||
"OXY2DEV/markview.nvim",
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
opts.ensure_installed =
|
|
||||||
require("astrocore").list_insert_unique(opts.ensure_installed, { "markdown", "markdown_inline" })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
ft = { "markdown" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
local ignore_filetypes = {
|
|
||||||
"aerial",
|
|
||||||
"alpha",
|
|
||||||
"dashboard",
|
|
||||||
"help",
|
|
||||||
"lazy",
|
|
||||||
"mason",
|
|
||||||
"neo-tree",
|
|
||||||
"NvimTree",
|
|
||||||
"neogitstatus",
|
|
||||||
"notify",
|
|
||||||
"startify",
|
|
||||||
"toggleterm",
|
|
||||||
"Trouble",
|
|
||||||
}
|
|
||||||
local ignore_buftypes = {
|
|
||||||
"nofile",
|
|
||||||
"prompt",
|
|
||||||
"quickfix",
|
|
||||||
"terminal",
|
|
||||||
}
|
|
||||||
local char = ""
|
|
||||||
|
|
||||||
return {
|
|
||||||
"echasnovski/mini.indentscope",
|
|
||||||
event = "User AstroFile",
|
|
||||||
opts = function()
|
|
||||||
|
|
||||||
vim.api.nvim_set_hl(0, "MiniIndentscopeSymbol", { fg = "#FF4500" }) -- Replace #FF4500 with your desired color
|
|
||||||
return {
|
|
||||||
options = { try_as_border = true, border = "both" },
|
|
||||||
symbol = require("astrocore").plugin_opts("indent-blankline.nvim").context_char or char,
|
|
||||||
draw = {
|
|
||||||
delay = 0,
|
|
||||||
animation = function(s, n) return 10 end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
optional = true,
|
|
||||||
opts = { scope = { enabled = false } },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
opts = {
|
|
||||||
autocmds = {
|
|
||||||
mini_indentscope = {
|
|
||||||
{
|
|
||||||
event = "FileType",
|
|
||||||
desc = "Disable indentscope for certain filetypes",
|
|
||||||
callback = function(event)
|
|
||||||
if vim.b[event.buf].miniindentscope_disable == nil then
|
|
||||||
local filetype = vim.bo[event.buf].filetype
|
|
||||||
local blankline_opts = require("astrocore").plugin_opts "indent-blankline.nvim"
|
|
||||||
if vim.tbl_contains(blankline_opts.filetype_exclude or ignore_filetypes, filetype) then
|
|
||||||
vim.b[event.buf].miniindentscope_disable = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event = "BufWinEnter",
|
|
||||||
desc = "Disable indentscope for certain buftypes",
|
|
||||||
callback = function(event)
|
|
||||||
if vim.b[event.buf].miniindentscope_disable == nil then
|
|
||||||
local buftype = vim.bo[event.buf].buftype
|
|
||||||
local blankline_opts = require("astrocore").plugin_opts "indent-blankline.nvim"
|
|
||||||
if vim.tbl_contains(blankline_opts.buftype_exclude or ignore_buftypes, buftype) then
|
|
||||||
vim.b[event.buf].miniindentscope_disable = true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event = "TermOpen",
|
|
||||||
desc = "Disable indentscope for terminals",
|
|
||||||
callback = function(event)
|
|
||||||
if vim.b[event.buf].miniindentscope_disable == nil then
|
|
||||||
vim.b[event.buf].miniindentscope_disable = true
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
-- Plugins to add additional functionality for LSP
|
|
||||||
return {
|
|
||||||
-- Signature help
|
|
||||||
{
|
|
||||||
"ray-x/lsp_signature.nvim",
|
|
||||||
event = "User AstroFile",
|
|
||||||
config = function()
|
|
||||||
require("lsp_signature").setup {
|
|
||||||
bind = true,
|
|
||||||
handler_opts = { border = "rounded" },
|
|
||||||
hint_enable = true,
|
|
||||||
|
|
||||||
hint_prefix = "🐼 ",
|
|
||||||
debug = true,
|
|
||||||
verbose = true,
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- Additional features for Clangd
|
|
||||||
{
|
|
||||||
"p00f/clangd_extensions.nvim",
|
|
||||||
lazy = true,
|
|
||||||
ft = { "c", "cpp" },
|
|
||||||
dependencies = {
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
opts = {
|
|
||||||
autocmds = {
|
|
||||||
clangd_extensions = {
|
|
||||||
{
|
|
||||||
event = "LspAttach",
|
|
||||||
desc = "Load clangd_extensions with clangd",
|
|
||||||
callback = function(args)
|
|
||||||
if assert(vim.lsp.get_client_by_id(args.data.client_id)).name == "clangd" then
|
|
||||||
require "clangd_extensions"
|
|
||||||
vim.api.nvim_del_augroup_by_name "clangd_extensions"
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"iamcco/markdown-preview.nvim",
|
|
||||||
build = function(plugin)
|
|
||||||
local package_manager = vim.fn.executable "yarn" and "yarn" or vim.fn.executable "npx" and "npx -y yarn" or false
|
|
||||||
|
|
||||||
--- HACK: Use `yarn` or `npx` when possible, otherwise throw an error
|
|
||||||
---@see https://github.com/iamcco/markdown-preview.nvim/issues/690
|
|
||||||
---@see https://github.com/iamcco/markdown-preview.nvim/issues/695
|
|
||||||
if not package_manager then error "Missing `yarn` or `npx` in the PATH" end
|
|
||||||
|
|
||||||
local cmd = string.format(
|
|
||||||
"!cd %s && cd app && COREPACK_ENABLE_AUTO_PIN=0 %s install --frozen-lockfile",
|
|
||||||
plugin.dir,
|
|
||||||
package_manager
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.cmd(cmd)
|
|
||||||
end,
|
|
||||||
ft = { "markdown", "markdown.mdx" },
|
|
||||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
|
||||||
init = function()
|
|
||||||
local plugin = require("lazy.core.config").spec.plugins["markdown-preview.nvim"]
|
|
||||||
vim.g.mkdp_filetypes = require("lazy.core.plugin").values(plugin, "ft", true)
|
|
||||||
end,
|
|
||||||
dependencies = {
|
|
||||||
{ "AstroNvim/astroui", opts = { icons = { Markdown = "" } } },
|
|
||||||
{
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
optional = true,
|
|
||||||
opts = function(_, opts)
|
|
||||||
local maps = opts.mappings
|
|
||||||
local prefix = "<Leader>M"
|
|
||||||
|
|
||||||
maps.n[prefix] = { desc = require("astroui").get_icon("Markdown", 1, true) .. "Markdown" }
|
|
||||||
maps.n[prefix .. "p"] = { "<cmd>MarkdownPreview<cr>", desc = "Preview" }
|
|
||||||
maps.n[prefix .. "s"] = { "<cmd>MarkdownPreviewStop<cr>", desc = "Stop preview" }
|
|
||||||
maps.n[prefix .. "t"] = { "<cmd>MarkdownPreviewToggle<cr>", desc = "Toggle preview" }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
return {
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
opts = function()
|
|
||||||
require("mason").setup {
|
|
||||||
ui = {
|
|
||||||
---@since 1.0.0
|
|
||||||
-- Whether to automatically check for new versions when opening the :Mason window.
|
|
||||||
check_outdated_packages_on_open = true,
|
|
||||||
|
|
||||||
---@since 1.0.0
|
|
||||||
-- The border to use for the UI window. Accepts same border values as |nvim_open_win()|.
|
|
||||||
border = "single",
|
|
||||||
|
|
||||||
---@since 1.0.0
|
|
||||||
-- Width of the window. Accepts:
|
|
||||||
-- - Integer greater than 1 for fixed width.
|
|
||||||
-- - Float in the range of 0-1 for a percentage of screen width.
|
|
||||||
width = 0.8,
|
|
||||||
|
|
||||||
---@since 1.0.0
|
|
||||||
-- Height of the window. Accepts:
|
|
||||||
-- - Integer greater than 1 for fixed height.
|
|
||||||
-- - Float in the range of 0-1 for a percentage of screen height.
|
|
||||||
height = 0.9,
|
|
||||||
|
|
||||||
icons = {
|
|
||||||
---@since 1.0.0
|
|
||||||
-- The list icon to use for installed packages.
|
|
||||||
package_installed = " ",
|
|
||||||
---@since 1.0.0
|
|
||||||
-- The list icon to use for packages that are installing, or queued for installation.
|
|
||||||
package_pending = " ",
|
|
||||||
---@since 1.0.0
|
|
||||||
-- The list icon to use for packages that are not installed.
|
|
||||||
package_uninstalled = " ",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
-- Customize Mason plugins
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
-- use mason-lspconfig to configure LSP installations
|
|
||||||
{
|
|
||||||
"williamboman/mason-lspconfig.nvim",
|
|
||||||
-- overrides `require("mason-lspconfig").setup(...)`
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
|
||||||
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
|
||||||
"lua_ls",
|
|
||||||
"clangd",
|
|
||||||
"basedpyright",
|
|
||||||
"ruff",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
-- use mason-null-ls to configure Formatters/Linter installation for null-ls sources
|
|
||||||
{
|
|
||||||
"jay-babu/mason-null-ls.nvim",
|
|
||||||
-- overrides `require("mason-null-ls").setup(...)`
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
|
||||||
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
|
||||||
"stylua",
|
|
||||||
"clang-format",
|
|
||||||
-- "black",
|
|
||||||
"prettier",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"jay-babu/mason-nvim-dap.nvim",
|
|
||||||
-- add this to lazy load dap-related plugins
|
|
||||||
init = function() end,
|
|
||||||
-- overrides `require("mason-nvim-dap").setup(...)`
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
|
||||||
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
|
||||||
"codelldb",
|
|
||||||
"python",
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
return {
|
|
||||||
"echasnovski/mini.icons",
|
|
||||||
opts = function(_, opts)
|
|
||||||
if vim.g.icons_enabled ~= false then
|
|
||||||
opts.style = "glyph" -- Use glyph icons when available
|
|
||||||
else
|
|
||||||
opts.style = "ascii" -- Fallback to ASCII if glyphs are disabled
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
lazy = true,
|
|
||||||
specs = {
|
|
||||||
{ "nvim-tree/nvim-web-devicons", enabled = false, optional = true },
|
|
||||||
{
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
opts = {
|
|
||||||
default_component_configs = {
|
|
||||||
icon = {
|
|
||||||
provider = function(icon, node)
|
|
||||||
local text, hl
|
|
||||||
local mini_icons = require "mini.icons"
|
|
||||||
if node.type == "file" then
|
|
||||||
text, hl = mini_icons.get("file", node.name)
|
|
||||||
elseif node.type == "directory" then
|
|
||||||
text, hl = mini_icons.get("directory", node.name)
|
|
||||||
if node:is_expanded() then text = nil end
|
|
||||||
end
|
|
||||||
|
|
||||||
if text then icon.text = text end
|
|
||||||
if hl then icon.highlight = hl end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
kind_icon = {
|
|
||||||
provider = function(icon, node)
|
|
||||||
icon.text, icon.highlight = require("mini.icons").get("lsp", node.extra.kind.name)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
package.preload["nvim-web-devicons"] = function()
|
|
||||||
require("mini.icons").mock_nvim_web_devicons()
|
|
||||||
return package.loaded["nvim-web-devicons"]
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
return {
|
|
||||||
"echasnovski/mini.move",
|
|
||||||
keys = function(_, keys)
|
|
||||||
local plugin = require("lazy.core.config").spec.plugins["mini.move"]
|
|
||||||
local opts = require("lazy.core.plugin").values(plugin, "opts", false) -- resolve mini.clue options
|
|
||||||
-- Populate the keys based on the user's options
|
|
||||||
local mappings = {
|
|
||||||
{ opts.mappings.line_left, desc = "Move line left" },
|
|
||||||
{ opts.mappings.line_right, desc = "Move line right" },
|
|
||||||
{ opts.mappings.line_down, desc = "Move line down" },
|
|
||||||
{ opts.mappings.line_up, desc = "Move line up" },
|
|
||||||
{ opts.mappings.left, desc = "Move selection left", mode = "v" },
|
|
||||||
{ opts.mappings.right, desc = "Move selection right", mode = "v" },
|
|
||||||
{ opts.mappings.down, desc = "Move selection down", mode = "v" },
|
|
||||||
{ opts.mappings.up, desc = "Move selection up", mode = "v" },
|
|
||||||
}
|
|
||||||
mappings = vim.tbl_filter(function(m) return m[1] and #m[1] > 0 end, mappings)
|
|
||||||
return vim.list_extend(mappings, keys)
|
|
||||||
end,
|
|
||||||
opts = {
|
|
||||||
mappings = {
|
|
||||||
left = "<A-a>",
|
|
||||||
right = "<A-d>",
|
|
||||||
down = "<A-s>",
|
|
||||||
up = "<A-w>",
|
|
||||||
line_left = "<A-a>",
|
|
||||||
line_right = "<A-d>",
|
|
||||||
line_down = "<A-s>",
|
|
||||||
line_up = "<A-w>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
specs = {
|
|
||||||
{
|
|
||||||
"bamboo", -- Replace with the correct name for the Bamboo colorscheme package if necessary
|
|
||||||
optional = true,
|
|
||||||
---@type BambooOptions -- Adjust type if Bamboo has specific options
|
|
||||||
opts = { integrations = { mini = true } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,134 +0,0 @@
|
|||||||
-- Plugins related to motion
|
|
||||||
return {
|
|
||||||
-- Faster change/delete/replace delimiter pairs
|
|
||||||
{
|
|
||||||
"echasnovski/mini.surround",
|
|
||||||
opts = { n_lines = 200 },
|
|
||||||
keys = {
|
|
||||||
{ "sa", mode = { "n", "x" }, desc = "Add surrounding" },
|
|
||||||
{ "sd", mode = { "n", "x" }, desc = "Delete surrounding" },
|
|
||||||
{ "sr", mode = { "n", "x" }, desc = "Replace surrounding" },
|
|
||||||
{ "sf", mode = { "n", "x" }, desc = "Find right surrounding" },
|
|
||||||
{ "sF", mode = { "n", "x" }, desc = "Find left surrounding" },
|
|
||||||
{ "sh", mode = { "n", "x" }, desc = "Highlight surrounding" },
|
|
||||||
{ "sn", mode = { "n", "x" }, desc = "Update `MiniSurround.config.n_lines`" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Brackets splitjoin
|
|
||||||
{
|
|
||||||
"Wansmer/treesj",
|
|
||||||
cmd = { "TSJToggle", "TSJSplit", "TSJJoin" },
|
|
||||||
opts = {
|
|
||||||
use_default_keymaps = false,
|
|
||||||
max_join_length = 150,
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "gs", "<Cmd>TSJToggle<CR>", mode = { "n" }, desc = "Toggle splitjoin" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- {
|
|
||||||
-- "echasnovski/mini.ai",
|
|
||||||
-- event = "User AstroFile",
|
|
||||||
-- opts = function()
|
|
||||||
-- -- Register to which-key
|
|
||||||
-- local i = {
|
|
||||||
-- [" "] = "Whitespace",
|
|
||||||
-- ["?"] = "User Prompt",
|
|
||||||
-- _ = "Underscore",
|
|
||||||
-- a = "Argument",
|
|
||||||
-- b = "Paired ), ], }",
|
|
||||||
-- c = "Class",
|
|
||||||
-- d = "Digit(s)",
|
|
||||||
-- e = "Word in CamelCase & snake_case",
|
|
||||||
-- f = "Function",
|
|
||||||
-- g = "Entire file",
|
|
||||||
-- o = "Block, conditional, loop",
|
|
||||||
-- q = "Quote `, \", '",
|
|
||||||
-- t = "Tag",
|
|
||||||
-- u = "Use/call function & method",
|
|
||||||
-- U = "Use/call without dot in name",
|
|
||||||
-- }
|
|
||||||
-- local a = vim.deepcopy(i)
|
|
||||||
-- for k, v in pairs(a) do
|
|
||||||
-- a[k] = v:gsub(" including.*", "")
|
|
||||||
-- end
|
|
||||||
|
|
||||||
-- local ic = vim.deepcopy(i)
|
|
||||||
-- local ac = vim.deepcopy(a)
|
|
||||||
-- for key, name in pairs { n = "Next", l = "Last" } do
|
|
||||||
-- i[key] = vim.tbl_extend("force", { name = "Inside " .. name .. " textobject" }, ic)
|
|
||||||
-- a[key] = vim.tbl_extend("force", { name = "Around " .. name .. " textobject" }, ac)
|
|
||||||
-- end
|
|
||||||
-- require("which-key").register {
|
|
||||||
-- mode = { "o", "x" },
|
|
||||||
-- i = i,
|
|
||||||
-- a = a,
|
|
||||||
-- }
|
|
||||||
|
|
||||||
-- -- define custom textobjects
|
|
||||||
-- local ai = require "mini.ai"
|
|
||||||
-- return {
|
|
||||||
-- n_lines = 500,
|
|
||||||
-- custom_textobjects = {
|
|
||||||
-- o = ai.gen_spec.treesitter { -- code block
|
|
||||||
-- a = { "@block.outer", "@conditional.outer", "@loop.outer" },
|
|
||||||
-- i = { "@block.inner", "@conditional.inner", "@loop.inner" },
|
|
||||||
-- },
|
|
||||||
-- f = ai.gen_spec.treesitter { a = "@function.outer", i = "@function.inner" }, -- function
|
|
||||||
-- c = ai.gen_spec.treesitter { a = "@class.outer", i = "@class.inner" }, -- class
|
|
||||||
-- t = { "<([%p%w]-)%f[^<%w][^<>]->.-</%1>", "^<.->().*()</[^/]->$" }, -- tags
|
|
||||||
-- d = { "%f[%d]%d+" }, -- digits
|
|
||||||
-- e = { -- Word with case
|
|
||||||
-- { "%u[%l%d]+%f[^%l%d]", "%f[%S][%l%d]+%f[^%l%d]", "%f[%P][%l%d]+%f[^%l%d]", "^[%l%d]+%f[^%l%d]" },
|
|
||||||
-- "^().*()$",
|
|
||||||
-- },
|
|
||||||
-- u = ai.gen_spec.function_call(), -- u for "Usage"
|
|
||||||
-- U = ai.gen_spec.function_call { name_pattern = "[%w_]" }, -- without dot in function name
|
|
||||||
-- },
|
|
||||||
-- }
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
-- Better move by word
|
|
||||||
{
|
|
||||||
"chrisgrieser/nvim-spider",
|
|
||||||
opts = {},
|
|
||||||
keys = {
|
|
||||||
{ "w", "<Cmd>lua require('spider').motion('w')<CR>", mode = { "n", "o", "x" }, desc = "Spider-w" },
|
|
||||||
{ "e", "<Cmd>lua require('spider').motion('e')<CR>", mode = { "n", "o", "x" }, desc = "Spider-e" },
|
|
||||||
{ "b", "<Cmd>lua require('spider').motion('b')<CR>", mode = { "n", "o", "x" }, desc = "Spider-b" },
|
|
||||||
{ "ge", "<Cmd>lua require('spider').motion('ge')<CR>", mode = { "n", "o", "x" }, desc = "Spider-ge" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Duplicate line/block up/down
|
|
||||||
{
|
|
||||||
"hinell/duplicate.nvim",
|
|
||||||
keys = {
|
|
||||||
{ "<A-K>", "<Cmd>LineDuplicate -1<CR>", mode = { "n" }, desc = "Duplicate line up" },
|
|
||||||
{ "<A-J>", "<Cmd>LineDuplicate +1<CR>", mode = { "n" }, desc = "Duplicate line down" },
|
|
||||||
{ "<A-K>", "<Cmd>VisualDuplicate -1<CR>", mode = { "x" }, desc = "Duplicate block up" },
|
|
||||||
{ "<A-J>", "<Cmd>VisualDuplicate +1<CR>", mode = { "x" }, desc = "Duplicate block down" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- Better character motion
|
|
||||||
{
|
|
||||||
"folke/flash.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {},
|
|
||||||
keys = {
|
|
||||||
{ "gj", function() require("flash").jump() end, mode = { "n", "x", "o" }, desc = "Flash" },
|
|
||||||
{
|
|
||||||
"gJ",
|
|
||||||
function() require("flash").treesitter() end,
|
|
||||||
mode = { "n", "x", "o" },
|
|
||||||
desc = "Flash Treesitter",
|
|
||||||
},
|
|
||||||
{ "r", function() require("flash").remote() end, mode = "o", desc = "Remote Flash" },
|
|
||||||
{
|
|
||||||
"R",
|
|
||||||
function() require("flash").treesitter_search() end,
|
|
||||||
mode = { "x", "o" },
|
|
||||||
desc = "Treesitter Search",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
return {
|
|
||||||
"brenton-leighton/multiple-cursors.nvim",
|
|
||||||
event = 'VimEnter',
|
|
||||||
cmd = {
|
|
||||||
"MultipleCursorsAddDown",
|
|
||||||
"MultipleCursorsAddUp",
|
|
||||||
"MultipleCursorsMouseAddDelete",
|
|
||||||
"MultipleCursorsAddMatches",
|
|
||||||
"MultipleCursorsAddMatchesV",
|
|
||||||
"MultipleCursorsAddJumpNextMatch",
|
|
||||||
"MultipleCursorsJumpNextMatch",
|
|
||||||
"MultipleCursorsLock",
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
opts = function(_, opts)
|
|
||||||
local maps = opts.mappings
|
|
||||||
for lhs, map in pairs {
|
|
||||||
["<C-Down>"] = { "<Cmd>MultipleCursorsAddDown<CR>", desc = "Add cursor down" },
|
|
||||||
["<C-Up>"] = { "<Cmd>MultipleCursorsAddUp<CR>", desc = "Add cursor up" },
|
|
||||||
["<C-LeftMouse>"] = { "<Cmd>MultipleCursorsMouseAddDelete<CR>", desc = "Add cursor with mouse" },
|
|
||||||
} do
|
|
||||||
maps.n[lhs] = map
|
|
||||||
maps.i[lhs] = map
|
|
||||||
end
|
|
||||||
local prefix = "<Leader>c"
|
|
||||||
for lhs, map in pairs {
|
|
||||||
[prefix .. "a"] = { "<Cmd>MultipleCursorsAddMatches<CR>", desc = "Add cursor matches" },
|
|
||||||
[prefix .. "A"] = { "<Cmd>MultipleCursorsAddMatchesV<CR>", desc = "Add cursor matches in previous visual area" },
|
|
||||||
[prefix .. "j"] = { "<Cmd>MultipleCursorsAddJumpNextMatch<CR>", desc = "Add cursor and jump to next match" },
|
|
||||||
[prefix .. "J"] = { "<Cmd>MultipleCursorsJumpNextMatch<CR>", desc = "Move cursor to next match" },
|
|
||||||
[prefix .. "l"] = { "<Cmd>MultipleCursorsLock<CR>", desc = "Lock virtual cursors" },
|
|
||||||
} do
|
|
||||||
maps.n[lhs] = map
|
|
||||||
maps.x[lhs] = map
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
return {
|
|
||||||
"mg979/vim-visual-multi",
|
|
||||||
event = "VeryLazy",
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
-- NOTE: always show hidden files and dot files
|
|
||||||
return {
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
opts = {
|
|
||||||
source_selector = {
|
|
||||||
winbar = false,
|
|
||||||
},
|
|
||||||
filesystem = {
|
|
||||||
filtered_items = {
|
|
||||||
visible = true,
|
|
||||||
show_hidden_count = true,
|
|
||||||
hide_dotfiles = true,
|
|
||||||
hide_gitignored = true,
|
|
||||||
hide_by_name = {
|
|
||||||
-- '.zip',
|
|
||||||
-- '.rar',
|
|
||||||
-- '.pdf',
|
|
||||||
-- '.DS_Store',
|
|
||||||
-- 'thumbs.db',
|
|
||||||
},
|
|
||||||
never_show = {},
|
|
||||||
|
|
||||||
never_show_by_pattern = { -- uses glob style patterns
|
|
||||||
'*.zip',
|
|
||||||
'*.rar',
|
|
||||||
'*.pdf',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
enable_git_status = false,
|
|
||||||
enable_diagnostics = false,
|
|
||||||
git_status_async = false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/noice.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = { "MunifTanjim/nui.nvim" },
|
|
||||||
|
|
||||||
config = function()
|
|
||||||
require("noice").setup {
|
|
||||||
-- Configuration here, or leave empty to use defaults
|
|
||||||
views = { },
|
|
||||||
messages = {
|
|
||||||
enabled = false, -- disables the Noice messages UI
|
|
||||||
},
|
|
||||||
notify = {
|
|
||||||
enabled = false, -- disables Noice notifications
|
|
||||||
},
|
|
||||||
lsp = {
|
|
||||||
progress = {
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
hover = {
|
|
||||||
enabled = false, -- disables Noice LSP hover
|
|
||||||
},
|
|
||||||
signature = {
|
|
||||||
enabled = false, -- disables Noice LSP signature help
|
|
||||||
},
|
|
||||||
message = {
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
presets = {
|
|
||||||
bottom_search = false, -- use a classic bottom cmdline for search
|
|
||||||
command_palette = true, -- position the cmdline and popupmenu together
|
|
||||||
long_message_to_split = false, -- long messages will be sent to a split
|
|
||||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
|
||||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
|
||||||
},
|
|
||||||
|
|
||||||
routes = {
|
|
||||||
-- disable "written" notification
|
|
||||||
{
|
|
||||||
filter = { event = "msg_show", kind = "", find = "written" },
|
|
||||||
opts = { skip = true },
|
|
||||||
},
|
|
||||||
-- disable paste/undo notification
|
|
||||||
{
|
|
||||||
filter = { event = "msg_show", find = "^%d+ more lines" },
|
|
||||||
opts = { skip = true },
|
|
||||||
},
|
|
||||||
-- disable delete/undo notification
|
|
||||||
{
|
|
||||||
filter = { event = "msg_show", find = "^%d+ fewer lines" },
|
|
||||||
opts = { skip = true },
|
|
||||||
},
|
|
||||||
-- disable yank notification
|
|
||||||
{
|
|
||||||
filter = { event = "msg_show", find = "^%d+ lines yanked$" },
|
|
||||||
opts = { skip = true },
|
|
||||||
},
|
|
||||||
-- disable move notification
|
|
||||||
{
|
|
||||||
filter = { event = "msg_show", find = "^%d+ lines moved$" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
specs = {
|
|
||||||
{
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
if opts.ensure_installed ~= "all" then
|
|
||||||
opts.ensure_installed = require("astrocore").list_insert_unique(
|
|
||||||
opts.ensure_installed,
|
|
||||||
{ "bash", "markdown", "markdown_inline", "regex", "vim" }
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"AstroNvim/astrolsp",
|
|
||||||
optional = true,
|
|
||||||
---@param opts AstroLSPOpts
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- No need to manage lsp_handlers as noice is not handling them now
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"heirline.nvim",
|
|
||||||
optional = true,
|
|
||||||
opts = function(_, opts)
|
|
||||||
local noice_opts = require("astrocore").plugin_opts "noice.nvim"
|
|
||||||
if vim.tbl_get(noice_opts, "lsp", "progress", "enabled") ~= false then -- check if lsp progress is enabled
|
|
||||||
opts.statusline[9] = require("astroui.status").component.lsp { lsp_progress = false }
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/edgy.nvim",
|
|
||||||
optional = true,
|
|
||||||
opts = function(_, opts)
|
|
||||||
if not opts.bottom then opts.bottom = {} end
|
|
||||||
table.insert(opts.bottom, {
|
|
||||||
ft = "noice",
|
|
||||||
size = { height = 0.4 },
|
|
||||||
filter = function(_, win) return vim.api.nvim_win_get_config(win).relative == "" end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
-- Customize None-ls sources
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"nvimtools/none-ls.nvim",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- config variable is the default configuration table for the setup function call
|
|
||||||
local null_ls = require "null-ls"
|
|
||||||
|
|
||||||
-- Check supported formatters and linters
|
|
||||||
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
|
|
||||||
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
|
|
||||||
opts.sources = {
|
|
||||||
-- Set a formatter
|
|
||||||
null_ls.builtins.formatting.stylua,
|
|
||||||
null_ls.builtins.formatting.clang_format,
|
|
||||||
-- null_ls.builtins.formatting.black,
|
|
||||||
null_ls.builtins.formatting.prettier,
|
|
||||||
}
|
|
||||||
return opts
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
return {
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
requires = { "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio" },
|
|
||||||
opts = {
|
|
||||||
eval = true,
|
|
||||||
mappings = {
|
|
||||||
edit = "e",
|
|
||||||
expand = { "<CR>", "<2-LeftMouse>" },
|
|
||||||
open = "o",
|
|
||||||
remove = "d",
|
|
||||||
repl = "r",
|
|
||||||
toggle = "t"
|
|
||||||
},
|
|
||||||
|
|
||||||
layouts = {
|
|
||||||
{
|
|
||||||
elements = {
|
|
||||||
{
|
|
||||||
id = "repl",
|
|
||||||
size = 0.5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id = "console",
|
|
||||||
size = 0.5,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
position = "left",
|
|
||||||
size = 40,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
elements = {
|
|
||||||
{
|
|
||||||
id = "scopes",
|
|
||||||
size = 0.25,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id = "breakpoints",
|
|
||||||
size = 0.25,
|
|
||||||
},
|
|
||||||
-- {
|
|
||||||
-- id = "stacks",
|
|
||||||
-- size = 0.25,
|
|
||||||
-- },
|
|
||||||
},
|
|
||||||
position = "bottom",
|
|
||||||
size = 20,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
"theHamsta/nvim-dap-virtual-text",
|
|
||||||
event = "User AstroFile",
|
|
||||||
opts = {
|
|
||||||
commented = false,
|
|
||||||
enabled = true,
|
|
||||||
enabled_commands = true,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
return {
|
|
||||||
"gen740/SmoothCursor.nvim",
|
|
||||||
config = function()
|
|
||||||
require("smoothcursor").setup {
|
|
||||||
type = "default", -- Cursor movement calculation method, choose "default", "exp" (exponential) or "matrix".
|
|
||||||
|
|
||||||
cursor = "", -- Cursor shape (requires Nerd Font). Disabled in fancy mode.
|
|
||||||
texthl = "SmoothCursor", -- Highlight group. Default is { bg = nil, fg = "#FFD400" }. Disabled in fancy mode.
|
|
||||||
linehl = nil, -- Highlights the line under the cursor, similar to 'cursorline'. "CursorLine" is recommended. Disabled in fancy mode.
|
|
||||||
|
|
||||||
fancy = {
|
|
||||||
enable = true, -- enable fancy mode
|
|
||||||
head = { cursor = "▷", texthl = "SmoothCursor", linehl = nil }, -- false to disable fancy head
|
|
||||||
body = {
|
|
||||||
{ cursor = "", texthl = "SmoothCursorRed" },
|
|
||||||
{ cursor = "", texthl = "SmoothCursorOrange" },
|
|
||||||
{ cursor = "●", texthl = "SmoothCursorYellow" },
|
|
||||||
{ cursor = "●", texthl = "SmoothCursorGreen" },
|
|
||||||
{ cursor = "•", texthl = "SmoothCursorAqua" },
|
|
||||||
{ cursor = ".", texthl = "SmoothCursorBlue" },
|
|
||||||
{ cursor = ".", texthl = "SmoothCursorPurple" },
|
|
||||||
},
|
|
||||||
tail = { cursor = nil, texthl = "SmoothCursor" }, -- false to disable fancy tail
|
|
||||||
},
|
|
||||||
|
|
||||||
matrix = { -- Loaded when 'type' is set to "matrix"
|
|
||||||
head = {
|
|
||||||
-- Picks a random character from this list for the cursor text
|
|
||||||
cursor = require "smoothcursor.matrix_chars",
|
|
||||||
-- Picks a random highlight from this list for the cursor text
|
|
||||||
texthl = {
|
|
||||||
"SmoothCursor",
|
|
||||||
},
|
|
||||||
linehl = nil, -- No line highlight for the head
|
|
||||||
},
|
|
||||||
body = {
|
|
||||||
length = 6, -- Specifies the length of the cursor body
|
|
||||||
-- Picks a random character from this list for the cursor body text
|
|
||||||
cursor = require "smoothcursor.matrix_chars",
|
|
||||||
-- Picks a random highlight from this list for each segment of the cursor body
|
|
||||||
texthl = {
|
|
||||||
"SmoothCursorGreen",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
tail = {
|
|
||||||
-- Picks a random character from this list for the cursor tail (if any)
|
|
||||||
cursor = nil,
|
|
||||||
-- Picks a random highlight from this list for the cursor tail
|
|
||||||
texthl = {
|
|
||||||
"SmoothCursor",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
unstop = false, -- Determines if the cursor should stop or not (false means it will stop)
|
|
||||||
},
|
|
||||||
|
|
||||||
autostart = true, -- Automatically start SmoothCursor
|
|
||||||
always_redraw = true, -- Redraw the screen on each update
|
|
||||||
flyin_effect = nil, -- Choose "bottom" or "top" for flying effect
|
|
||||||
speed = 25, -- Max speed is 100 to stick with your current position
|
|
||||||
intervals = 35, -- Update intervals in milliseconds
|
|
||||||
priority = 10, -- Set marker priority
|
|
||||||
timeout = 3000, -- Timeout for animations in milliseconds
|
|
||||||
threshold = 3, -- Animate only if cursor moves more than this many lines
|
|
||||||
max_threshold = nil, -- If you move more than this many lines, don't animate (if `nil`, deactivate check)
|
|
||||||
disable_float_win = false, -- Disable in floating windows
|
|
||||||
enabled_filetypes = nil, -- Enable only for specific file types, e.g., { "lua", "vim" }
|
|
||||||
disabled_filetypes = nil, -- Disable for these file types, ignored if enabled_filetypes is set. e.g., { "TelescopePrompt", "NvimTree" }
|
|
||||||
-- Show the position of the latest input mode positions.
|
|
||||||
-- A value of "enter" means the position will be updated when entering the mode.
|
|
||||||
-- A value of "leave" means the position will be updated when leaving the mode.
|
|
||||||
-- `nil` = disabled
|
|
||||||
show_last_positions = nil,
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
opts = {
|
|
||||||
-- your configuration comes here
|
|
||||||
-- or leave it empty to use the default settings
|
|
||||||
-- refer to the configuration section below
|
|
||||||
|
|
||||||
keywords = {
|
|
||||||
FIX = {
|
|
||||||
icon = " ", -- icon used for the sign, and in search results
|
|
||||||
color = "error", -- can be a hex color, or a named color (see below)
|
|
||||||
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
|
|
||||||
-- signs = false, -- configure signs for some keywords individually
|
|
||||||
},
|
|
||||||
TODO = { icon = " ", color = "info" },
|
|
||||||
GOAL = { icon = " ", color = "info" },
|
|
||||||
HACK = { icon = " ", color = "warning" },
|
|
||||||
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
|
|
||||||
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
|
|
||||||
NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
|
|
||||||
TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
-- Customize Treesitter
|
|
||||||
|
|
||||||
---@type LazySpec
|
|
||||||
return {
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- add more things to the ensure_installed table protecting against community packs modifying it
|
|
||||||
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
|
|
||||||
"lua",
|
|
||||||
"c",
|
|
||||||
"cpp",
|
|
||||||
"python",
|
|
||||||
-- "javascript",
|
|
||||||
})
|
|
||||||
opts.highlight = {
|
|
||||||
enable = true,
|
|
||||||
disable = { "c", "rust", "tsx", "javascript", "python"},
|
|
||||||
additional_vim_regex_highlighting = false,
|
|
||||||
custom_captures = {
|
|
||||||
-- Highlight local variables
|
|
||||||
["variable.local"] = "Identifier",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.api.nvim_set_hl(0, "Identifier", { fg = "#55ffff" })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"HiPhish/rainbow-delimiters.nvim",
|
|
||||||
dependencies = {
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
{
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
opts = {
|
|
||||||
mappings = {
|
|
||||||
n = {
|
|
||||||
["<Leader>u("] = {
|
|
||||||
function()
|
|
||||||
local bufnr = vim.api.nvim_get_current_buf()
|
|
||||||
require("rainbow-delimiters").toggle(bufnr)
|
|
||||||
require("astrocore").notify(
|
|
||||||
string.format(
|
|
||||||
"Buffer rainbow delimeters %s",
|
|
||||||
require("rainbow-delimiters").is_enabled(bufnr) and "on" or "off"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
desc = "Toggle rainbow delimeters (buffer)",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
event = "User AstroFile",
|
|
||||||
main = "rainbow-delimiters.setup",
|
|
||||||
opts = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
-- Plugins related to UI
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"goolord/alpha-nvim",
|
|
||||||
dependencies = { "echasnovski/mini.icons" },
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- customize the dashboard header
|
|
||||||
opts.section.header.val = require("plugins.configs.ui.alpha")[10]
|
|
||||||
opts.section.buttons.val = {}
|
|
||||||
end,
|
|
||||||
-- config = function() require("alpha").setup(require("alpha.themes.startify").config) end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rebelot/heirline.nvim",
|
|
||||||
opts = function(_, opts)
|
|
||||||
opts.statusline = require("plugins.configs.ui.heirline").statusline
|
|
||||||
opts.winbar = require("plugins.configs.ui.heirline").winbar
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
opts = function(_, opts)
|
|
||||||
-- Do this to prevent the warning
|
|
||||||
opts.background_colour = "#000000"
|
|
||||||
opts.timeout = 2000
|
|
||||||
opts.fps = 60
|
|
||||||
opts.render = "compact"
|
|
||||||
opts.top_down = false
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Transparent background
|
|
||||||
{
|
|
||||||
"xiyaowong/transparent.nvim",
|
|
||||||
lazy = false,
|
|
||||||
opts = function(_, opts) opts = require "plugins.configs.ui.transparent"(opts) end,
|
|
||||||
keys = {
|
|
||||||
{ "<Leader>uT", "<Cmd>TransparentToggle<CR>", desc = "Toggle transparent" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,64 +0,0 @@
|
|||||||
return {
|
|
||||||
"altermo/ultimate-autopair.nvim",
|
|
||||||
event = "InsertEnter",
|
|
||||||
branch = "v0.6", --recommended as each new version will have breaking changes
|
|
||||||
opts = {
|
|
||||||
-- disable autopair in the command line: https://github.com/altermo/ultimate-autopair.nvim/issues/8
|
|
||||||
cmap = false,
|
|
||||||
extensions = {
|
|
||||||
cond = {
|
|
||||||
-- disable in comments
|
|
||||||
-- https://github.com/altermo/ultimate-autopair.nvim/blob/6fd0d6aa976a97dd6f1bed4d46be1b437613a52f/Q%26A.md?plain=1#L26
|
|
||||||
cond = {
|
|
||||||
function(fn) return not fn.in_node "comment" end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- get fly mode working on strings:
|
|
||||||
-- https://github.com/altermo/ultimate-autopair.nvim/issues/33
|
|
||||||
fly = {
|
|
||||||
nofilter = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config_internal_pairs = {
|
|
||||||
{ '"', '"', fly = true },
|
|
||||||
{ "'", "'", fly = true },
|
|
||||||
{ "[", "]", fly = true },
|
|
||||||
{ "{", "}", fly = true },
|
|
||||||
{ "(", ")", fly = true },
|
|
||||||
-- { "<", ">", fly = true },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
"AstroNvim/astrocore",
|
|
||||||
opts = {
|
|
||||||
mappings = {
|
|
||||||
n = {
|
|
||||||
["<Leader>ua"] = {
|
|
||||||
desc = "Toggle Ultimate Autopair",
|
|
||||||
function()
|
|
||||||
local notify = require("astrocore").notify
|
|
||||||
local function bool2str(bool) return bool and "on" or "off" end
|
|
||||||
local ok, ultimate_autopair = pcall(require, "ultimate-autopair")
|
|
||||||
if ok then
|
|
||||||
ultimate_autopair.toggle()
|
|
||||||
vim.g.ultimate_autopair_enabled = require("ultimate-autopair.core").disable
|
|
||||||
notify(string.format("ultimate-autopair %s", bool2str(not vim.g.ultimate_autopair_enabled)))
|
|
||||||
else
|
|
||||||
notify "ultimate-autopair not available"
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
specs = {
|
|
||||||
{
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
optional = true,
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
-- This will run last in the setup process and is a good place to configure
|
|
||||||
-- things like custom filetypes. This just pure lua so anything that doesn't
|
|
||||||
-- fit in the normal config locations above can go here
|
|
||||||
|
|
||||||
-- Run autocommands
|
|
||||||
require("core.autocmds")
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
base: lua51
|
|
||||||
|
|
||||||
globals:
|
|
||||||
vim:
|
|
||||||
any: true
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
std = "neovim"
|
|
||||||
|
|
||||||
[rules]
|
|
||||||
global_usage = "allow"
|
|
||||||
if_same_then_else = "allow"
|
|
||||||
incorrect_standard_library_use = "allow"
|
|
||||||
mixed_table = "allow"
|
|
||||||
multiple_statements = "allow"
|
|
||||||
1
.config/rofi/MyCustom/rofi
Submodule
113
.config/rofi/backup/clipboard.rasi
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
// Config //
|
||||||
|
configuration {
|
||||||
|
modi: "drun";
|
||||||
|
show-icons: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@theme "~/.config/rofi/theme.rasi"
|
||||||
|
|
||||||
|
|
||||||
|
// Main //
|
||||||
|
window {
|
||||||
|
width: 23em;
|
||||||
|
height: 30em;
|
||||||
|
transparency: "real";
|
||||||
|
fullscreen: false;
|
||||||
|
enabled: true;
|
||||||
|
cursor: "default";
|
||||||
|
spacing: 0em;
|
||||||
|
padding: 0em;
|
||||||
|
border-color: @main-br;
|
||||||
|
background-color: @main-bg;
|
||||||
|
}
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 0em;
|
||||||
|
padding: 0.5em;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "wallbox" , "listbox" ];
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
wallbox {
|
||||||
|
spacing: 0em;
|
||||||
|
padding: 0em;
|
||||||
|
expand: false;
|
||||||
|
orientation: horizontal;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: url("~/.cache/hyde/wall.blur", width);
|
||||||
|
children: [ "wallframe" , "inputbar" ];
|
||||||
|
}
|
||||||
|
wallframe {
|
||||||
|
width: 5em;
|
||||||
|
spacing: 0em;
|
||||||
|
padding: 0em;
|
||||||
|
expand: false;
|
||||||
|
background-color: @main-bg;
|
||||||
|
background-image: url("~/.cache/hyde/wall.quad", width);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Inputs //
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
padding: 0em;
|
||||||
|
children: [ "entry" ];
|
||||||
|
background-color: @main-bg;
|
||||||
|
expand: true;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
padding: 1.8em;
|
||||||
|
text-color: @main-fg;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Lists //
|
||||||
|
listbox {
|
||||||
|
spacing: 0em;
|
||||||
|
padding: 0em;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "dummy" , "listview" , "dummy" ];
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
padding: 0.5em;
|
||||||
|
columns: 1;
|
||||||
|
lines: 11;
|
||||||
|
cycle: true;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: false;
|
||||||
|
expand: false;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @main-fg;
|
||||||
|
}
|
||||||
|
dummy {
|
||||||
|
spacing: 0em;
|
||||||
|
padding: 0em;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Elements //
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 0.5em;
|
||||||
|
cursor: pointer;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @main-fg;
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @select-bg;
|
||||||
|
text-color: @select-fg;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
vertical-align: 0.0;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
cursor: inherit;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||