Compare commits
75 commits
tuckr-migr
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fa42a7c2d | |||
| 20f68e1dee | |||
| a85aa9ee0f | |||
| fc134591c2 | |||
| 0c60392b1f | |||
| d0ffade8ce | |||
| 47deec4656 | |||
| 14d8aed4a2 | |||
| e9edfb922a | |||
| 4f33dcbc48 | |||
| 591f631aa0 | |||
| 713fb48d8d | |||
| a923539c85 | |||
| 5b5e426d94 | |||
| 7c1b64881b | |||
| 3129cc7bee | |||
| 64cfab7d40 | |||
| 45a3700b51 | |||
| 86ec8531d0 | |||
| 301f316144 | |||
| ae8429f1df | |||
| 2c4b79d431 | |||
| 7442a9a088 | |||
| 98c09cc632 | |||
| 158e492332 | |||
| 4458a8755e | |||
| 9abd5dde3f | |||
| 85c150a1ac | |||
| 7e24245690 | |||
| 41f458954a | |||
| 5c10d76d08 | |||
| 23b6c0a596 | |||
| c5618f2f2c | |||
| 8f3259a19a | |||
| 75452f4c81 | |||
| bd102d6753 | |||
| a404d3af2c | |||
| 19cbbb9fa8 | |||
| 5a1d24ae0d | |||
| 8ade0b6795 | |||
| 6b6c6e5a0b | |||
| f7a3f90e8c | |||
| 766c50a845 | |||
| fbcb8598a2 | |||
| 61398a659c | |||
| 59656e019f | |||
| 07305dc89f | |||
| dd9c225fd9 | |||
| b6eea93564 | |||
| 78bfbc3ed6 | |||
| 466d6652ba | |||
| 3e01fa628c | |||
| 60a8a14667 | |||
| 5c9c12f32c | |||
| cbe791ead3 | |||
| 5569b6fe10 | |||
| e01cd5110c | |||
| a01c1bd837 | |||
| 1fd1ea1e05 | |||
| 184b398017 | |||
| a6c0b4b867 | |||
| f1430fa64d | |||
| 0627b36073 | |||
| 11812f8d98 | |||
| 7bfaaf730a | |||
| bb989f6fc6 | |||
| 62518907ed | |||
| fac9010c68 | |||
| dfeb4b9516 | |||
| 237a855ae5 | |||
| 6dc7e82e94 | |||
| a8771d5166 | |||
| 2bd9b3d518 | |||
| 4751ecc2ef | |||
| 742388c3ca |
303 changed files with 6438 additions and 6833 deletions
8
.dotter/aleidk-work-laptop.toml
Normal file
8
.dotter/aleidk-work-laptop.toml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
includes = []
|
||||||
|
packages = ["default"]
|
||||||
|
|
||||||
|
[files]
|
||||||
|
"configs/hypr/work-laptop/hyprland.conf" = "~/.config/hypr/include/work-laptop.conf"
|
||||||
|
"configs/niri/work-laptop/local.kdl" = "~/.config/niri/include/local.kdl"
|
||||||
|
|
||||||
|
[variables]
|
||||||
7
.dotter/almighty.toml
Normal file
7
.dotter/almighty.toml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
includes = []
|
||||||
|
packages = ["default"]
|
||||||
|
|
||||||
|
[files]
|
||||||
|
"configs/hypr/almighty/hyprland.conf" = "~/.config/hypr/include/almighty.conf"
|
||||||
|
|
||||||
|
[variables]
|
||||||
42
.dotter/global.toml
Normal file
42
.dotter/global.toml
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
[settings]
|
||||||
|
default_target_type = "symbolic"
|
||||||
|
|
||||||
|
[helpers]
|
||||||
|
|
||||||
|
[default]
|
||||||
|
depends = ["niri"]
|
||||||
|
|
||||||
|
[default.files]
|
||||||
|
"configs/fish" = "~/.config/fish"
|
||||||
|
"configs/alacritty" = "~/.config/alacritty"
|
||||||
|
"configs/atuin" = "~/.config/atuin"
|
||||||
|
"configs/bat" = "~/.config/bat"
|
||||||
|
"configs/containers" = "~/.config/containers"
|
||||||
|
"configs/fzf" = "~/.config/fzf"
|
||||||
|
"configs/ghostty" = "~/.config/ghostty"
|
||||||
|
"configs/git" = "~/.config/git"
|
||||||
|
"configs/hypr/base" = "~/.config/hypr"
|
||||||
|
"configs/kitty" = "~/.config/kitty"
|
||||||
|
"configs/lazygit" = "~/.config/lazygit"
|
||||||
|
"configs/mako" = "~/.config/mako"
|
||||||
|
"configs/mise" = "~/.config/mise"
|
||||||
|
"configs/mpv" = "~/.config/mpv"
|
||||||
|
"configs/nvim" = "~/.config/nvim"
|
||||||
|
"configs/rofi" = "~/.config/rofi"
|
||||||
|
"configs/swappy" = "~/.config/swappy"
|
||||||
|
"configs/swaync" = "~/.config/swaync"
|
||||||
|
"configs/uwsm" = "~/.config/uwsm"
|
||||||
|
"configs/vimiv" = "~/.config/vimiv"
|
||||||
|
"configs/waybar" = "~/.config/waybar"
|
||||||
|
"configs/wezterm" = "~/.config/wezterm"
|
||||||
|
"configs/wlogout" = "~/.config/wlogout"
|
||||||
|
"configs/wpaperd" = "~/.config/wpaperd"
|
||||||
|
"configs/yazi" = "~/.config/yazi"
|
||||||
|
"configs/systemd" = "~/.config/systemd"
|
||||||
|
"configs/zed" = "~/.config/zed"
|
||||||
|
|
||||||
|
|
||||||
|
[default.variables]
|
||||||
|
|
||||||
|
[niri.files]
|
||||||
|
"configs/niri/base" = "~/.config/niri"
|
||||||
49
.justfile
Normal file
49
.justfile
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
packages_file := quote(justfile_directory() / "bootstrap/pkgs_arch.txt")
|
||||||
|
|
||||||
|
bootstrap: setup_pacman setup_paru install_packages
|
||||||
|
|
||||||
|
|
||||||
|
install_packages: update_packages
|
||||||
|
paru -S --needed --noconfirm - < {{ packages_file }}
|
||||||
|
|
||||||
|
update_packages:
|
||||||
|
paru -Syu --noconfirm
|
||||||
|
|
||||||
|
clean_orphans:
|
||||||
|
-sudo pacman -Qdtq | sudo pacman -Rns -
|
||||||
|
@echo "\n\n{{ BLUE }}The following files are not owned by any package anymore:{{ NORMAL }}"
|
||||||
|
|
||||||
|
# setup sudo:
|
||||||
|
# sudo loop
|
||||||
|
# show asterisk on password
|
||||||
|
|
||||||
|
setup_pacman:
|
||||||
|
# add automatic updates
|
||||||
|
sudo sed -i \
|
||||||
|
-e 's/#\?ParallelDownloads = [0-9]\+/ParallelDownloads = {{ num_cpus() }}/' \
|
||||||
|
-e 's/#\?Color\+/Color/' \
|
||||||
|
-e 's/#\?ILoveCandy\+/ILoveCandy/' \
|
||||||
|
-e 's/#\?VerbosePkgLists\+/VerbosePkgLists/' \
|
||||||
|
/etc/pacman.conf
|
||||||
|
|
||||||
|
setup_paru:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euxo pipefail
|
||||||
|
|
||||||
|
if ! command -v paru &> /dev/null ; then
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
sudo pacman -S --needed base-devel
|
||||||
|
git clone https://aur.archlinux.org/paru.git "$tmp"
|
||||||
|
cd "$tmp"
|
||||||
|
makepkg -si
|
||||||
|
cd -
|
||||||
|
rm -rf "$tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo sed -i \
|
||||||
|
-e 's/#\?BottomUp\+/BottomUp/' \
|
||||||
|
-e 's/#\?SudoLoop\+/SudoLoop/' \
|
||||||
|
-e 's/#\?CombinedUpgrade\+/CombinedUpgrade/' \
|
||||||
|
-e 's/#\?CleanAfter\+/CleanAfter/' \
|
||||||
|
-e 's/#\?NewsOnUpgrade\+/NewsOnUpgrade/' \
|
||||||
|
/etc/paru.conf
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
syntax = "All"
|
syntax = "All"
|
||||||
column_width = 120
|
column_width = 120
|
||||||
line_endings = "Unix"
|
line_endings = "Unix"
|
||||||
indent_type = "indent_type"
|
indent_type = "Spaces"
|
||||||
indent_width = 2
|
indent_width = 2
|
||||||
quote_style = "AutoPreferDouble"
|
quote_style = "AutoPreferDouble"
|
||||||
call_parentheses = "Always"
|
call_parentheses = "Always"
|
||||||
|
|
|
||||||
|
|
@ -1,197 +0,0 @@
|
||||||
# -*- conf -*-
|
|
||||||
|
|
||||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
|
||||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
|
||||||
# login-shell=no
|
|
||||||
|
|
||||||
include=~/.config/foot/themes/catppuccin/catppuccin-macchiato.conf
|
|
||||||
|
|
||||||
# app-id=foot
|
|
||||||
# title=foot
|
|
||||||
# locked-title=no
|
|
||||||
|
|
||||||
font=JetBrainsMono NF:style=Regular:size=11
|
|
||||||
font-bold=JetBrainsMono NF:style=Bold:size=11
|
|
||||||
font-italic=JetBrainsMono NF:style=Italic:size=11
|
|
||||||
font-bold-italic=JetBrainsMono NF:style=Bold Italic:size=11
|
|
||||||
# line-height=<font metrics>
|
|
||||||
# letter-spacing=0
|
|
||||||
# horizontal-letter-offset=0
|
|
||||||
# vertical-letter-offset=0
|
|
||||||
# underline-offset=<font metrics>
|
|
||||||
# box-drawings-uses-font-glyphs=no
|
|
||||||
# dpi-aware=auto
|
|
||||||
|
|
||||||
# initial-window-size-pixels=700x500 # Or,
|
|
||||||
# initial-window-size-chars=<COLSxROWS>
|
|
||||||
# initial-window-mode=windowed
|
|
||||||
pad=10x10
|
|
||||||
# resize-delay-ms=100
|
|
||||||
|
|
||||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
|
||||||
|
|
||||||
# bold-text-in-bright=no
|
|
||||||
# word-delimiters=,│`|:"'()[]{}<>
|
|
||||||
# selection-target=primary
|
|
||||||
# workers=<number of logical CPUs>
|
|
||||||
|
|
||||||
[environment]
|
|
||||||
# name=value
|
|
||||||
|
|
||||||
[bell]
|
|
||||||
# urgent=no
|
|
||||||
# notify=no
|
|
||||||
# command=
|
|
||||||
# command-focused=no
|
|
||||||
|
|
||||||
[scrollback]
|
|
||||||
# lines=1000
|
|
||||||
# multiplier=3.0
|
|
||||||
# indicator-position=relative
|
|
||||||
# indicator-format=
|
|
||||||
|
|
||||||
[url]
|
|
||||||
# launch=xdg-open ${url}
|
|
||||||
# label-letters=sadfjklewcmpgh
|
|
||||||
# osc8-underline=url-mode
|
|
||||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
|
||||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
# style=block
|
|
||||||
# color=<inverse foreground/background>
|
|
||||||
# blink=no
|
|
||||||
# beam-thickness=1.5
|
|
||||||
# underline-thickness=<font underline thickness>
|
|
||||||
|
|
||||||
[mouse]
|
|
||||||
# hide-when-typing=no
|
|
||||||
# alternate-scroll-mode=yes
|
|
||||||
|
|
||||||
[colors]
|
|
||||||
alpha=0.9
|
|
||||||
# foreground=dcdccc
|
|
||||||
# background=111111
|
|
||||||
|
|
||||||
## Normal/regular colors (color palette 0-7)
|
|
||||||
# regular0=222222 # black
|
|
||||||
# regular1=cc9393 # red
|
|
||||||
# regular2=7f9f7f # green
|
|
||||||
# regular3=d0bf8f # yellow
|
|
||||||
# regular4=6ca0a3 # blue
|
|
||||||
# regular5=dc8cc3 # magenta
|
|
||||||
# regular6=93e0e3 # cyan
|
|
||||||
# regular7=dcdccc # white
|
|
||||||
|
|
||||||
## Bright colors (color palette 8-15)
|
|
||||||
# bright0=666666 # bright black
|
|
||||||
# bright1=dca3a3 # bright red
|
|
||||||
# bright2=bfebbf # bright green
|
|
||||||
# bright3=f0dfaf # bright yellow
|
|
||||||
# bright4=8cd0d3 # bright blue
|
|
||||||
# bright5=fcace3 # bright magenta
|
|
||||||
# bright6=b3ffff # bright cyan
|
|
||||||
# bright7=ffffff # bright white
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
# 16 = <256-color palette #16>
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
# selection-foreground=<inverse foreground/background>
|
|
||||||
# selection-background=<inverse foreground/background>
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
# urls=<regular3>
|
|
||||||
|
|
||||||
[csd]
|
|
||||||
preferred=none
|
|
||||||
# size=26
|
|
||||||
# font=<primary font>
|
|
||||||
# color=<foreground color>
|
|
||||||
# hide-when-typing=no
|
|
||||||
# border-width=0
|
|
||||||
# border-color=<csd.color>
|
|
||||||
# button-width=26
|
|
||||||
# button-color=<background color>
|
|
||||||
# button-minimize-color=<regular4>
|
|
||||||
# button-maximize-color=<regular2>
|
|
||||||
# button-close-color=<regular1>
|
|
||||||
|
|
||||||
[key-bindings]
|
|
||||||
# scrollback-up-page=Shift+Page_Up
|
|
||||||
# scrollback-up-half-page=none
|
|
||||||
# scrollback-up-line=none
|
|
||||||
# scrollback-down-page=Shift+Page_Down
|
|
||||||
# scrollback-down-half-page=none
|
|
||||||
# scrollback-down-line=none
|
|
||||||
# clipboard-copy=Control+Shift+c XF86Copy
|
|
||||||
# clipboard-paste=Control+Shift+v XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# search-start=Control+Shift+r
|
|
||||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
|
||||||
# font-decrease=Control+minus Control+KP_Subtract
|
|
||||||
# font-reset=Control+0 Control+KP_0
|
|
||||||
# spawn-terminal=Control+Shift+n
|
|
||||||
# minimize=none
|
|
||||||
# maximize=none
|
|
||||||
# fullscreen=none
|
|
||||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-selected=[xargs -r firefox] none
|
|
||||||
# show-urls-launch=Control+Shift+u
|
|
||||||
# show-urls-copy=none
|
|
||||||
# show-urls-persistent=none
|
|
||||||
# prompt-prev=Control+Shift+z
|
|
||||||
# prompt-next=Control+Shift+x
|
|
||||||
# unicode-input=none
|
|
||||||
# noop=none
|
|
||||||
|
|
||||||
[search-bindings]
|
|
||||||
# cancel=Control+g Control+c Escape
|
|
||||||
# commit=Return
|
|
||||||
# find-prev=Control+r
|
|
||||||
# find-next=Control+s
|
|
||||||
# cursor-left=Left Control+b
|
|
||||||
# cursor-left-word=Control+Left Mod1+b
|
|
||||||
# cursor-right=Right Control+f
|
|
||||||
# cursor-right-word=Control+Right Mod1+f
|
|
||||||
# cursor-home=Home Control+a
|
|
||||||
# cursor-end=End Control+e
|
|
||||||
# delete-prev=BackSpace
|
|
||||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
|
||||||
# delete-next=Delete
|
|
||||||
# delete-next-word=Mod1+d Control+Delete
|
|
||||||
# extend-to-word-boundary=Control+w
|
|
||||||
# extend-to-next-whitespace=Control+Shift+w
|
|
||||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# unicode-input=none
|
|
||||||
|
|
||||||
[url-bindings]
|
|
||||||
# cancel=Control+g Control+c Control+d Escape
|
|
||||||
# toggle-url-visible=t
|
|
||||||
|
|
||||||
[text-bindings]
|
|
||||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
|
||||||
|
|
||||||
[mouse-bindings]
|
|
||||||
# selection-override-modifiers=Shift
|
|
||||||
# primary-paste=BTN_MIDDLE
|
|
||||||
# select-begin=BTN_LEFT
|
|
||||||
# select-begin-block=Control+BTN_LEFT
|
|
||||||
# select-extend=BTN_RIGHT
|
|
||||||
# select-extend-character-wise=Control+BTN_RIGHT
|
|
||||||
# select-word=BTN_LEFT-2
|
|
||||||
# select-word-whitespace=Control+BTN_LEFT-2
|
|
||||||
# select-row=BTN_LEFT-3
|
|
||||||
|
|
||||||
# vim: ft=dosini
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2021 Catppuccin
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
<h3 align="center">
|
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
|
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
|
||||||
Catppuccin for <a href="https://codeberg.org/dnkl/foot">Foot</a>
|
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
|
||||||
</h3>
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<a href="https://github.com/catppuccin/foot/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/foot?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
|
|
||||||
<a href="https://github.com/catppuccin/foot/issues"><img src="https://img.shields.io/github/issues/catppuccin/foot?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
|
|
||||||
<a href="https://github.com/catppuccin/foot/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/foot?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/foot-catppuccin/main/assets/foot.png"/>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
1. Copy the contents of `catppuccin.conf` colorscheme you want into your Foot config file (usually stored at `~/.config/foot/foot.ini`)
|
|
||||||
|
|
||||||
## 💝 Thanks to
|
|
||||||
|
|
||||||
- [Pocco81](https://github.com/Pocco81)
|
|
||||||
- [crdpa](https://github.com/crdpa)
|
|
||||||
- [Thibault Andreis](https://github.com/ThibaultAndreis)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
|
|
||||||
<p align="center">Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
|
|
||||||
<p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 313 KiB |
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=c6d0f5 # Text
|
|
||||||
background=303446 # Base
|
|
||||||
regular0=51576d # Surface 1
|
|
||||||
regular1=e78284 # red
|
|
||||||
regular2=a6d189 # green
|
|
||||||
regular3=e5c890 # yellow
|
|
||||||
regular4=8caaee # blue
|
|
||||||
regular5=f4b8e4 # pink
|
|
||||||
regular6=81c8be # teal
|
|
||||||
regular7=b5bfe2 # Subtext 1
|
|
||||||
bright0=626880 # Surface 2
|
|
||||||
bright1=e78284 # red
|
|
||||||
bright2=a6d189 # green
|
|
||||||
bright3=e5c890 # yellow
|
|
||||||
bright4=8caaee # blue
|
|
||||||
bright5=f4b8e4 # pink
|
|
||||||
bright6=81c8be # teal
|
|
||||||
bright7=a5adce # Subtext 0
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=4c4f69 # Text
|
|
||||||
background=eff1f5 # Base
|
|
||||||
regular0=5c5f77 # Subtext 1
|
|
||||||
regular1=d20f39 # red
|
|
||||||
regular2=40a02b # green
|
|
||||||
regular3=df8e1d # yellow
|
|
||||||
regular4=1e66f5 # blue
|
|
||||||
regular5=ea76cb # pink
|
|
||||||
regular6=179299 # teal
|
|
||||||
regular7=acb0be # Surface 2
|
|
||||||
bright0=6c6f85 # Subtext 0
|
|
||||||
bright1=d20f39 # red
|
|
||||||
bright2=40a02b # green
|
|
||||||
bright3=df8e1d # yellow
|
|
||||||
bright4=1e66f5 # blue
|
|
||||||
bright5=ea76cb # pink
|
|
||||||
bright6=179299 # teal
|
|
||||||
bright7=bcc0cc # Surface 1
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=cad3f5 # Text
|
|
||||||
background=24273a # Base
|
|
||||||
regular0=494d64 # Surface 1
|
|
||||||
regular1=ed8796 # red
|
|
||||||
regular2=a6da95 # green
|
|
||||||
regular3=eed49f # yellow
|
|
||||||
regular4=8aadf4 # blue
|
|
||||||
regular5=f5bde6 # pink
|
|
||||||
regular6=8bd5ca # teal
|
|
||||||
regular7=b8c0e0 # Subtext 1
|
|
||||||
bright0=5b6078 # Surface 2
|
|
||||||
bright1=ed8796 # red
|
|
||||||
bright2=a6da95 # green
|
|
||||||
bright3=eed49f # yellow
|
|
||||||
bright4=8aadf4 # blue
|
|
||||||
bright5=f5bde6 # pink
|
|
||||||
bright6=8bd5ca # teal
|
|
||||||
bright7=a5adcb # Subtext 0
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=cdd6f4 # Text
|
|
||||||
background=1e1e2e # Base
|
|
||||||
regular0=45475a # Surface 1
|
|
||||||
regular1=f38ba8 # red
|
|
||||||
regular2=a6e3a1 # green
|
|
||||||
regular3=f9e2af # yellow
|
|
||||||
regular4=89b4fa # blue
|
|
||||||
regular5=f5c2e7 # pink
|
|
||||||
regular6=94e2d5 # teal
|
|
||||||
regular7=bac2de # Subtext 1
|
|
||||||
bright0=585b70 # Surface 2
|
|
||||||
bright1=f38ba8 # red
|
|
||||||
bright2=a6e3a1 # green
|
|
||||||
bright3=f9e2af # yellow
|
|
||||||
bright4=89b4fa # blue
|
|
||||||
bright5=f5c2e7 # pink
|
|
||||||
bright6=94e2d5 # teal
|
|
||||||
bright7=a6adc8 # Subtext 0
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
# EditorConfig helps developers define and maintain consistent
|
|
||||||
# coding styles between different editors and IDEs
|
|
||||||
# EditorConfig is awesome: https://EditorConfig.org
|
|
||||||
|
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
charset = utf-8
|
|
||||||
indent_size = 2
|
|
||||||
indent_style = space
|
|
||||||
end_of_line = lf
|
|
||||||
insert_final_newline = true
|
|
||||||
trim_trailing_whitespace = true
|
|
||||||
|
|
||||||
# go
|
|
||||||
[*.go]
|
|
||||||
indent_style = tab
|
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
# python
|
|
||||||
[*.{ini,py,py.tpl,rst}]
|
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
# rust
|
|
||||||
[*.rs]
|
|
||||||
indent_size = 4
|
|
||||||
|
|
||||||
# documentation, utils
|
|
||||||
[*.{md,mdx,diff}]
|
|
||||||
trim_trailing_whitespace = false
|
|
||||||
|
|
||||||
# windows shell scripts
|
|
||||||
[*.{cmd,bat,ps1}]
|
|
||||||
end_of_line = crlf
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
gitdir: ../../../../.git/modules/config/foot/themes/catppuccin
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
theme = "catppuccin_macchiato"
|
|
||||||
|
|
||||||
[keys.normal.g]
|
|
||||||
u = "switch_to_lowercase"
|
|
||||||
U = "switch_to_uppercase"
|
|
||||||
|
|
||||||
# LSP actions
|
|
||||||
[keys.normal.space.l]
|
|
||||||
j = "goto_next_diag"
|
|
||||||
k = "goto_prev_diag"
|
|
||||||
|
|
||||||
# Git
|
|
||||||
[keys.normal.space.g]
|
|
||||||
g = [
|
|
||||||
":new",
|
|
||||||
":insert-output lazygit",
|
|
||||||
":buffer-close!",
|
|
||||||
":redraw",
|
|
||||||
":reload-all"
|
|
||||||
]
|
|
||||||
|
|
||||||
[keys.normal.space]
|
|
||||||
e = [
|
|
||||||
':sh rm -f /tmp/unique-file',
|
|
||||||
':insert-output yazi %{buffer_name} --chooser-file=/tmp/unique-file',
|
|
||||||
':insert-output echo "\x1b[?1049h\x1b[?2004h" > /dev/tty',
|
|
||||||
':open %sh{/bin/cat /tmp/unique-file}',
|
|
||||||
':redraw',
|
|
||||||
]
|
|
||||||
|
|
||||||
[editor]
|
|
||||||
line-number = "relative"
|
|
||||||
cursorline = true
|
|
||||||
color-modes = true
|
|
||||||
scrolloff = 15
|
|
||||||
default-yank-register = "*"
|
|
||||||
bufferline = "multiple"
|
|
||||||
popup-border = "all"
|
|
||||||
|
|
||||||
|
|
||||||
[editor.cursor-shape]
|
|
||||||
insert = "bar"
|
|
||||||
normal = "block"
|
|
||||||
select = "underline"
|
|
||||||
|
|
||||||
[editor.indent-guides]
|
|
||||||
render = true
|
|
||||||
|
|
||||||
[editor.statusline]
|
|
||||||
left = ["mode", "spacer", "version-control", "file-type", "file-name","file-modification-indicator", "read-only-indicator", "spinner"]
|
|
||||||
center = []
|
|
||||||
right = ["diagnostics", "position-percentage"]
|
|
||||||
mode.normal = ""
|
|
||||||
mode.insert = ""
|
|
||||||
mode.select = ""
|
|
||||||
|
|
||||||
[editor.file-picker]
|
|
||||||
hidden = false
|
|
||||||
|
|
||||||
[editor.lsp]
|
|
||||||
display-inlay-hints = true
|
|
||||||
|
|
||||||
[editor.inline-diagnostics]
|
|
||||||
cursor-line = "hint"
|
|
||||||
other-lines = "error"
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
|
|
||||||
[[language]]
|
|
||||||
name = "rust"
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,495 +0,0 @@
|
||||||
# Config relating to the Lazygit UI
|
|
||||||
gui:
|
|
||||||
# The number of lines you scroll by when scrolling the main window
|
|
||||||
scrollHeight: 2
|
|
||||||
# If true, allow scrolling past the bottom of the content in the main window
|
|
||||||
scrollPastBottom: true
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#scroll-off-margin
|
|
||||||
scrollOffMargin: 2
|
|
||||||
# One of: 'margin' (default) | 'jump'
|
|
||||||
scrollOffBehavior: margin
|
|
||||||
# If true, capture mouse events.
|
|
||||||
# When mouse events are captured, it's a little harder to select text: e.g. requiring you to hold the option key when on macOS.
|
|
||||||
mouseEvents: true
|
|
||||||
# If true, do not show a warning when discarding changes in the staging view.
|
|
||||||
skipDiscardChangeWarning: false
|
|
||||||
# If true, do not show warning when applying/popping the stash
|
|
||||||
skipStashWarning: false
|
|
||||||
# If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files.
|
|
||||||
skipNoStagedFilesWarning: false
|
|
||||||
# If true, do not show a warning when rewording a commit via an external editor
|
|
||||||
skipRewordInEditorWarning: false
|
|
||||||
# Fraction of the total screen width to use for the left side section. You may want to pick a small number (e.g. 0.2) if you're using a narrow screen, so that you can see more of the main section.
|
|
||||||
# Number from 0 to 1.0.
|
|
||||||
sidePanelWidth: 0.3333
|
|
||||||
# If true, increase the height of the focused side window; creating an accordion effect.
|
|
||||||
expandFocusedSidePanel: false
|
|
||||||
# The weight of the expanded side panel, relative to the other panels. 2 means
|
|
||||||
# twice as tall as the other panels. Only relevant if `expandFocusedSidePanel` is true.
|
|
||||||
expandedSidePanelWeight: 2
|
|
||||||
# Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
|
||||||
# Options are:
|
|
||||||
# - 'horizontal': split the window horizontally
|
|
||||||
# - 'vertical': split the window vertically
|
|
||||||
# - 'flexible': (default) split the window horizontally if the window is wide enough, otherwise split vertically
|
|
||||||
mainPanelSplitMode: flexible
|
|
||||||
# How the window is split when in half screen mode (i.e. after hitting '+' once).
|
|
||||||
# Possible values:
|
|
||||||
# - 'left': split the window horizontally (side panel on the left, main view on the right)
|
|
||||||
# - 'top': split the window vertically (side panel on top, main view below)
|
|
||||||
enlargedSideViewLocation: left
|
|
||||||
# One of 'auto' (default) | 'en' | 'zh-CN' | 'zh-TW' | 'pl' | 'nl' | 'ja' | 'ko' | 'ru'
|
|
||||||
language: auto
|
|
||||||
# Format used when displaying time e.g. commit time.
|
|
||||||
# Uses Go's time format syntax: https://pkg.go.dev/time#Time.Format
|
|
||||||
timeFormat: 02 Jan 06
|
|
||||||
# Format used when displaying time if the time is less than 24 hours ago.
|
|
||||||
# Uses Go's time format syntax: https://pkg.go.dev/time#Time.Format
|
|
||||||
shortTimeFormat: 3:04PM
|
|
||||||
# Config relating to colors and styles.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#color-attributes
|
|
||||||
theme:
|
|
||||||
activeBorderColor:
|
|
||||||
- '#8bd5ca'
|
|
||||||
- bold
|
|
||||||
inactiveBorderColor:
|
|
||||||
- '#a5adcb'
|
|
||||||
optionsTextColor:
|
|
||||||
- '#8aadf4'
|
|
||||||
selectedLineBgColor:
|
|
||||||
- '#363a4f'
|
|
||||||
cherryPickedCommitBgColor:
|
|
||||||
- '#494d64'
|
|
||||||
cherryPickedCommitFgColor:
|
|
||||||
- '#8bd5ca'
|
|
||||||
unstagedChangesColor:
|
|
||||||
- '#ed8796'
|
|
||||||
defaultFgColor:
|
|
||||||
- '#cad3f5'
|
|
||||||
searchingActiveBorderColor:
|
|
||||||
- '#eed49f'
|
|
||||||
# Background color of selected line when view doesn't have focus.
|
|
||||||
inactiveViewSelectedLineBgColor:
|
|
||||||
- bold
|
|
||||||
# Foreground color of marked base commit (for rebase)
|
|
||||||
markedBaseCommitFgColor:
|
|
||||||
- blue
|
|
||||||
# Background color of marked base commit (for rebase)
|
|
||||||
markedBaseCommitBgColor:
|
|
||||||
- yellow
|
|
||||||
authorColors:
|
|
||||||
'*': '#b7bdf8'
|
|
||||||
# Config relating to the commit length indicator
|
|
||||||
commitLength:
|
|
||||||
# If true, show an indicator of commit message length
|
|
||||||
show: true
|
|
||||||
# If true, show the '5 of 20' footer at the bottom of list views
|
|
||||||
showListFooter: true
|
|
||||||
# If true, display the files in the file views as a tree. If false, display the files as a flat list.
|
|
||||||
# This can be toggled from within Lazygit with the '~' key, but that will not change the default.
|
|
||||||
showFileTree: true
|
|
||||||
# If true, show a random tip in the command log when Lazygit starts
|
|
||||||
showRandomTip: true
|
|
||||||
# If true, show the command log
|
|
||||||
showCommandLog: true
|
|
||||||
# If true, show the bottom line that contains keybinding info and useful buttons. If false, this line will be hidden except to display a loader for an in-progress action.
|
|
||||||
showBottomLine: true
|
|
||||||
# If true, show jump-to-window keybindings in window titles.
|
|
||||||
showPanelJumps: true
|
|
||||||
# Deprecated: use nerdFontsVersion instead
|
|
||||||
showIcons: false
|
|
||||||
# Nerd fonts version to use.
|
|
||||||
# One of: '2' | '3' | empty string (default)
|
|
||||||
# If empty, do not show icons.
|
|
||||||
nerdFontsVersion: "3"
|
|
||||||
# If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.
|
|
||||||
showFileIcons: true
|
|
||||||
# Length of author name in (non-expanded) commits view. 2 means show initials only.
|
|
||||||
commitAuthorShortLength: 2
|
|
||||||
# Length of author name in expanded commits view. 2 means show initials only.
|
|
||||||
commitAuthorLongLength: 17
|
|
||||||
# Length of commit hash in commits view. 0 shows '*' if NF icons aren't on.
|
|
||||||
commitHashLength: 8
|
|
||||||
# If true, show commit hashes alongside branch names in the branches view.
|
|
||||||
showBranchCommitHash: false
|
|
||||||
# Whether to show the divergence from the base branch in the branches view.
|
|
||||||
# One of: 'none' | 'onlyArrow' | 'arrowAndNumber'
|
|
||||||
showDivergenceFromBaseBranch: none
|
|
||||||
# Height of the command log view
|
|
||||||
commandLogSize: 8
|
|
||||||
# Whether to split the main window when viewing file changes.
|
|
||||||
# One of: 'auto' | 'always'
|
|
||||||
# If 'auto', only split the main window when a file has both staged and unstaged changes
|
|
||||||
splitDiff: auto
|
|
||||||
# Default size for focused window. Window size can be changed from within Lazygit with '+' and '_' (but this won't change the default).
|
|
||||||
# One of: 'normal' (default) | 'half' | 'full'
|
|
||||||
screenMode: normal
|
|
||||||
# Window border style.
|
|
||||||
# One of 'rounded' (default) | 'single' | 'double' | 'hidden'
|
|
||||||
border: rounded
|
|
||||||
# If true, show a seriously epic explosion animation when nuking the working tree.
|
|
||||||
animateExplosion: true
|
|
||||||
# Whether to stack UI components on top of each other.
|
|
||||||
# One of 'auto' (default) | 'always' | 'never'
|
|
||||||
portraitMode: auto
|
|
||||||
# How things are filtered when typing '/'.
|
|
||||||
# One of 'substring' (default) | 'fuzzy'
|
|
||||||
filterMode: fuzzy
|
|
||||||
# Config relating to the spinner.
|
|
||||||
spinner:
|
|
||||||
# The frames of the spinner animation.
|
|
||||||
frames:
|
|
||||||
- '|'
|
|
||||||
- /
|
|
||||||
- '-'
|
|
||||||
- \
|
|
||||||
# The "speed" of the spinner in milliseconds.
|
|
||||||
rate: 50
|
|
||||||
# Status panel view.
|
|
||||||
# One of 'dashboard' (default) | 'allBranchesLog'
|
|
||||||
statusPanelView: dashboard
|
|
||||||
# If true, jump to the Files panel after popping a stash
|
|
||||||
switchToFilesAfterStashPop: true
|
|
||||||
# If true, jump to the Files panel after applying a stash
|
|
||||||
switchToFilesAfterStashApply: true
|
|
||||||
# Config relating to git
|
|
||||||
git:
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md
|
|
||||||
paging:
|
|
||||||
# Value of the --color arg in the git diff command. Some pagers want this to be set to 'always' and some want it set to 'never'
|
|
||||||
colorArg: always
|
|
||||||
# e.g.
|
|
||||||
# diff-so-fancy
|
|
||||||
# delta --dark --paging=never
|
|
||||||
# ydiff -p cat -s --wrap --width={{columnWidth}}
|
|
||||||
pager: ""
|
|
||||||
# If true, Lazygit will use whatever pager is specified in `$GIT_PAGER`, `$PAGER`, or your *git config*. If the pager ends with something like ` | less` we will strip that part out, because less doesn't play nice with our rendering approach. If the custom pager uses less under the hood, that will also break rendering (hence the `--paging=never` flag for the `delta` pager).
|
|
||||||
useConfig: true
|
|
||||||
# e.g. 'difft --color=always'
|
|
||||||
externalDiffCommand: ""
|
|
||||||
# Config relating to committing
|
|
||||||
commit:
|
|
||||||
# If true, pass '--signoff' flag when committing
|
|
||||||
signOff: false
|
|
||||||
# Automatic WYSIWYG wrapping of the commit message as you type
|
|
||||||
autoWrapCommitMessage: true
|
|
||||||
# If autoWrapCommitMessage is true, the width to wrap to
|
|
||||||
autoWrapWidth: 72
|
|
||||||
# Config relating to merging
|
|
||||||
merging:
|
|
||||||
# If true, run merges in a subprocess so that if a commit message is required, Lazygit will not hang
|
|
||||||
# Only applicable to unix users.
|
|
||||||
manualCommit: false
|
|
||||||
# Extra args passed to `git merge`, e.g. --no-ff
|
|
||||||
args: ""
|
|
||||||
# The commit message to use for a squash merge commit. Can contain "{{selectedRef}}" and "{{currentBranch}}" placeholders.
|
|
||||||
squashMergeMessage: Squash merge {{selectedRef}} into {{currentBranch}}
|
|
||||||
# list of branches that are considered 'main' branches, used when displaying commits
|
|
||||||
mainBranches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
# Prefix to use when skipping hooks. E.g. if set to 'WIP', then pre-commit hooks will be skipped when the commit message starts with 'WIP'
|
|
||||||
skipHookPrefix: WIP
|
|
||||||
# If true, periodically fetch from remote
|
|
||||||
autoFetch: true
|
|
||||||
# If true, periodically refresh files and submodules
|
|
||||||
autoRefresh: true
|
|
||||||
# If true, pass the --all arg to git fetch
|
|
||||||
fetchAll: true
|
|
||||||
# If true, lazygit will automatically stage files that used to have merge
|
|
||||||
# conflicts but no longer do; and it will also ask you if you want to
|
|
||||||
# continue a merge or rebase if you've resolved all conflicts. If false, it
|
|
||||||
# won't do either of these things.
|
|
||||||
autoStageResolvedConflicts: true
|
|
||||||
# Command used when displaying the current branch git log in the main window
|
|
||||||
branchLogCmd: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --
|
|
||||||
# Command used to display git log of all branches in the main window.
|
|
||||||
# Deprecated: User `allBranchesLogCmds` instead.
|
|
||||||
allBranchesLogCmd: git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium
|
|
||||||
# If true, do not spawn a separate process when using GPG
|
|
||||||
overrideGpg: false
|
|
||||||
# If true, do not allow force pushes
|
|
||||||
disableForcePushing: false
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix
|
|
||||||
# commitPrefix:
|
|
||||||
# pattern to match on. E.g. for 'feature/AB-123' to match on the AB-123 use "^\\w+\\/(\\w+-\\w+).*"
|
|
||||||
# pattern: ""
|
|
||||||
|
|
||||||
# Replace directive. E.g. for 'feature/AB-123' to start the commit message with 'AB-123 ' use "[$1] "
|
|
||||||
# replace: ""
|
|
||||||
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-branch-name-prefix
|
|
||||||
branchPrefix: ""
|
|
||||||
# If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀
|
|
||||||
# (This should really be under 'gui', not 'git')
|
|
||||||
parseEmoji: true
|
|
||||||
# Config for showing the log in the commits view
|
|
||||||
log:
|
|
||||||
# One of: 'date-order' | 'author-date-order' | 'topo-order' | 'default'
|
|
||||||
# 'topo-order' makes it easier to read the git log graph, but commits may not
|
|
||||||
# appear chronologically. See https://git-scm.com/docs/
|
|
||||||
#
|
|
||||||
# Deprecated: Configure this with `Log menu -> Commit sort order` (<c-l> in the commits window by default).
|
|
||||||
order: topo-order
|
|
||||||
# This determines whether the git graph is rendered in the commits panel
|
|
||||||
# One of 'always' | 'never' | 'when-maximised'
|
|
||||||
#
|
|
||||||
# Deprecated: Configure this with `Log menu -> Show git graph` (<c-l> in the commits window by default).
|
|
||||||
showGraph: always
|
|
||||||
# displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)
|
|
||||||
showWholeGraph: false
|
|
||||||
# When copying commit hashes to the clipboard, truncate them to this
|
|
||||||
# length. Set to 40 to disable truncation.
|
|
||||||
truncateCopiedCommitHashesTo: 12
|
|
||||||
# Periodic update checks
|
|
||||||
update:
|
|
||||||
# One of: 'prompt' (default) | 'background' | 'never'
|
|
||||||
method: prompt
|
|
||||||
# Period in days between update checks
|
|
||||||
days: 14
|
|
||||||
# Background refreshes
|
|
||||||
refresher:
|
|
||||||
# File/submodule refresh interval in seconds.
|
|
||||||
# Auto-refresh can be disabled via option 'git.autoRefresh'.
|
|
||||||
refreshInterval: 10
|
|
||||||
# Re-fetch interval in seconds.
|
|
||||||
# Auto-fetch can be disabled via option 'git.autoFetch'.
|
|
||||||
fetchInterval: 60
|
|
||||||
# If true, show a confirmation popup before quitting Lazygit
|
|
||||||
confirmOnQuit: false
|
|
||||||
# If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close
|
|
||||||
quitOnTopLevelReturn: true
|
|
||||||
# Config relating to things outside of Lazygit like how files are opened, copying to clipboard, etc
|
|
||||||
os:
|
|
||||||
# Command for editing a file. Should contain "{{filename}}".
|
|
||||||
edit: ""
|
|
||||||
# Command for editing a file at a given line number. Should contain
|
|
||||||
# "{{filename}}", and may optionally contain "{{line}}".
|
|
||||||
editAtLine: ""
|
|
||||||
# Same as EditAtLine, except that the command needs to wait until the
|
|
||||||
# window is closed.
|
|
||||||
editAtLineAndWait: ""
|
|
||||||
# For opening a directory in an editor
|
|
||||||
openDirInEditor: ""
|
|
||||||
# A built-in preset that sets all of the above settings. Supported presets
|
|
||||||
# are defined in the getPreset function in editor_presets.go.
|
|
||||||
editPreset: "nvim-remote"
|
|
||||||
# Command for opening a file, as if the file is double-clicked. Should
|
|
||||||
# contain "{{filename}}", but doesn't support "{{line}}".
|
|
||||||
open: "xdg-open {{filename}} >/dev/null"
|
|
||||||
# Command for opening a link. Should contain "{{link}}".
|
|
||||||
openLink: ""
|
|
||||||
# EditCommand is the command for editing a file.
|
|
||||||
# Deprecated: use Edit instead. Note that semantics are different:
|
|
||||||
# EditCommand is just the command itself, whereas Edit contains a
|
|
||||||
# "{{filename}}" variable.
|
|
||||||
editCommand: ""
|
|
||||||
# EditCommandTemplate is the command template for editing a file
|
|
||||||
# Deprecated: use EditAtLine instead.
|
|
||||||
editCommandTemplate: ""
|
|
||||||
# OpenCommand is the command for opening a file
|
|
||||||
# Deprecated: use Open instead.
|
|
||||||
openCommand: ""
|
|
||||||
# OpenLinkCommand is the command for opening a link
|
|
||||||
# Deprecated: use OpenLink instead.
|
|
||||||
openLinkCommand: ""
|
|
||||||
# CopyToClipboardCmd is the command for copying to clipboard.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-and-pasting-from-clipboard
|
|
||||||
copyToClipboardCmd: ""
|
|
||||||
# ReadFromClipboardCmd is the command for reading the clipboard.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-and-pasting-from-clipboard
|
|
||||||
readFromClipboardCmd: ""
|
|
||||||
# If true, don't display introductory popups upon opening Lazygit.
|
|
||||||
disableStartupPopups: false
|
|
||||||
# What to do when opening Lazygit outside of a git repo.
|
|
||||||
# - 'prompt': (default) ask whether to initialize a new repo or open in the most recent repo
|
|
||||||
# - 'create': initialize a new repo
|
|
||||||
# - 'skip': open most recent repo
|
|
||||||
# - 'quit': exit Lazygit
|
|
||||||
notARepository: quit
|
|
||||||
# If true, display a confirmation when subprocess terminates. This allows you to view the output of the subprocess before returning to Lazygit.
|
|
||||||
promptToReturnFromSubprocess: true
|
|
||||||
# Keybindings
|
|
||||||
keybinding:
|
|
||||||
universal:
|
|
||||||
quit: q
|
|
||||||
quit-alt1: <c-c>
|
|
||||||
return: <esc>
|
|
||||||
quitWithoutChangingDirectory: Q
|
|
||||||
togglePanel: <tab>
|
|
||||||
prevItem: <up>
|
|
||||||
nextItem: <down>
|
|
||||||
prevItem-alt: k
|
|
||||||
nextItem-alt: j
|
|
||||||
prevPage: ','
|
|
||||||
nextPage: .
|
|
||||||
scrollLeft: H
|
|
||||||
scrollRight: L
|
|
||||||
gotoTop: <
|
|
||||||
gotoBottom: '>'
|
|
||||||
toggleRangeSelect: v
|
|
||||||
rangeSelectDown: <s-down>
|
|
||||||
rangeSelectUp: <s-up>
|
|
||||||
prevBlock: <left>
|
|
||||||
nextBlock: <right>
|
|
||||||
prevBlock-alt: h
|
|
||||||
nextBlock-alt: l
|
|
||||||
nextBlock-alt2: <tab>
|
|
||||||
prevBlock-alt2: <backtab>
|
|
||||||
jumpToBlock:
|
|
||||||
- "1"
|
|
||||||
- "2"
|
|
||||||
- "3"
|
|
||||||
- "4"
|
|
||||||
- "5"
|
|
||||||
nextMatch: "n"
|
|
||||||
prevMatch: "N"
|
|
||||||
startSearch: /
|
|
||||||
optionMenu: <disabled>
|
|
||||||
optionMenu-alt1: '?'
|
|
||||||
select: <space>
|
|
||||||
goInto: <enter>
|
|
||||||
confirm: <enter>
|
|
||||||
confirmInEditor: <a-enter>
|
|
||||||
remove: d
|
|
||||||
new: "n"
|
|
||||||
edit: e
|
|
||||||
openFile: o
|
|
||||||
scrollUpMain: <pgup>
|
|
||||||
scrollDownMain: <pgdown>
|
|
||||||
scrollUpMain-alt1: K
|
|
||||||
scrollDownMain-alt1: J
|
|
||||||
scrollUpMain-alt2: <c-u>
|
|
||||||
scrollDownMain-alt2: <c-d>
|
|
||||||
executeShellCommand: ':'
|
|
||||||
createRebaseOptionsMenu: m
|
|
||||||
# 'Files' appended for legacy reasons
|
|
||||||
pushFiles: P
|
|
||||||
# 'Files' appended for legacy reasons
|
|
||||||
pullFiles: p
|
|
||||||
refresh: R
|
|
||||||
createPatchOptionsMenu: <c-p>
|
|
||||||
nextTab: ']'
|
|
||||||
prevTab: '['
|
|
||||||
nextScreenMode: +
|
|
||||||
prevScreenMode: _
|
|
||||||
undo: z
|
|
||||||
redo: <c-z>
|
|
||||||
filteringMenu: <c-s>
|
|
||||||
diffingMenu: W
|
|
||||||
diffingMenu-alt: <c-e>
|
|
||||||
copyToClipboard: <c-o>
|
|
||||||
openRecentRepos: <c-r>
|
|
||||||
submitEditorText: <enter>
|
|
||||||
extrasMenu: '@'
|
|
||||||
toggleWhitespaceInDiffView: <c-w>
|
|
||||||
increaseContextInDiffView: '}'
|
|
||||||
decreaseContextInDiffView: '{'
|
|
||||||
increaseRenameSimilarityThreshold: )
|
|
||||||
decreaseRenameSimilarityThreshold: (
|
|
||||||
openDiffTool: <c-t>
|
|
||||||
status:
|
|
||||||
checkForUpdate: u
|
|
||||||
recentRepos: <enter>
|
|
||||||
allBranchesLogGraph: a
|
|
||||||
files:
|
|
||||||
commitChanges: c
|
|
||||||
commitChangesWithoutHook: w
|
|
||||||
amendLastCommit: A
|
|
||||||
commitChangesWithEditor: C
|
|
||||||
findBaseCommitForFixup: <c-f>
|
|
||||||
confirmDiscard: x
|
|
||||||
ignoreFile: i
|
|
||||||
refreshFiles: r
|
|
||||||
stashAllChanges: s
|
|
||||||
viewStashOptions: S
|
|
||||||
toggleStagedAll: a
|
|
||||||
viewResetOptions: D
|
|
||||||
fetch: f
|
|
||||||
toggleTreeView: '`'
|
|
||||||
openMergeTool: M
|
|
||||||
openStatusFilter: <c-b>
|
|
||||||
copyFileInfoToClipboard: "y"
|
|
||||||
branches:
|
|
||||||
createPullRequest: o
|
|
||||||
viewPullRequestOptions: O
|
|
||||||
copyPullRequestURL: <c-y>
|
|
||||||
checkoutBranchByName: c
|
|
||||||
forceCheckoutBranch: F
|
|
||||||
rebaseBranch: r
|
|
||||||
renameBranch: R
|
|
||||||
mergeIntoCurrentBranch: M
|
|
||||||
viewGitFlowOptions: i
|
|
||||||
fastForward: f
|
|
||||||
createTag: T
|
|
||||||
pushTag: P
|
|
||||||
setUpstream: u
|
|
||||||
fetchRemote: f
|
|
||||||
sortOrder: s
|
|
||||||
worktrees:
|
|
||||||
viewWorktreeOptions: w
|
|
||||||
commits:
|
|
||||||
squashDown: s
|
|
||||||
renameCommit: r
|
|
||||||
renameCommitWithEditor: R
|
|
||||||
viewResetOptions: g
|
|
||||||
markCommitAsFixup: f
|
|
||||||
createFixupCommit: F
|
|
||||||
squashAboveCommits: S
|
|
||||||
moveDownCommit: <c-j>
|
|
||||||
moveUpCommit: <c-k>
|
|
||||||
amendToCommit: A
|
|
||||||
resetCommitAuthor: a
|
|
||||||
pickCommit: p
|
|
||||||
revertCommit: t
|
|
||||||
cherryPickCopy: C
|
|
||||||
pasteCommits: V
|
|
||||||
markCommitAsBaseForRebase: B
|
|
||||||
tagCommit: T
|
|
||||||
checkoutCommit: <space>
|
|
||||||
resetCherryPick: <c-R>
|
|
||||||
copyCommitAttributeToClipboard: "y"
|
|
||||||
openLogMenu: <c-l>
|
|
||||||
openInBrowser: o
|
|
||||||
viewBisectOptions: b
|
|
||||||
startInteractiveRebase: i
|
|
||||||
amendAttribute:
|
|
||||||
resetAuthor: a
|
|
||||||
setAuthor: A
|
|
||||||
addCoAuthor: c
|
|
||||||
stash:
|
|
||||||
popStash: g
|
|
||||||
renameStash: r
|
|
||||||
commitFiles:
|
|
||||||
checkoutCommitFile: c
|
|
||||||
main:
|
|
||||||
toggleSelectHunk: a
|
|
||||||
pickBothHunks: b
|
|
||||||
editSelectHunk: E
|
|
||||||
submodules:
|
|
||||||
init: i
|
|
||||||
update: u
|
|
||||||
bulkMenu: b
|
|
||||||
commitMessage:
|
|
||||||
commitMenu: <c-o>
|
|
||||||
customCommands:
|
|
||||||
- key: "C"
|
|
||||||
command: 'cog commit "{{ .Form.Type }} {{ .Form.Description }}" {{if .Form.Scopes}}({{ .Form.Scopes }}){{end}}'
|
|
||||||
description: "Commit with cocogitto"
|
|
||||||
context: "files"
|
|
||||||
prompts:
|
|
||||||
- type: "menuFromCommand"
|
|
||||||
title: "Select the commit type"
|
|
||||||
key: "Type"
|
|
||||||
command: >
|
|
||||||
bash -c "cog commit --help | sed -n 's/.*\\[possible values: \\(.*\\)\\].*/\\1/p' | tr ', ' '\\n' | sed '/^$/d' | sort"
|
|
||||||
|
|
||||||
- type: "input"
|
|
||||||
title: "Enter the scope(s) of this change"
|
|
||||||
key: "Scopes"
|
|
||||||
- type: "input"
|
|
||||||
title: "Enter a short description of the change"
|
|
||||||
key: "Description"
|
|
||||||
- type: "confirm"
|
|
||||||
title: "Is the commit message correct?"
|
|
||||||
body: "{{ .Form.Type }}{{if .Form.Scopes}}({{ .Form.Scopes }}){{end}}: {{ .Form.Description }}"
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
[tools]
|
|
||||||
node = 'lts'
|
|
||||||
# python = {version='3', virtualenv='.venv'}
|
|
||||||
python = {version='3'} # setting virtualenv adds a virtualenv in every directory
|
|
||||||
# php = "8.2"
|
|
||||||
go = "latest"
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
[alias.node]
|
|
||||||
my_custom_node = '20' # makes `rtx install node@my_custom_node` install node-20.x
|
|
||||||
# this can also be specified in a plugin (see below in "Aliases")
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
(directive) @function
|
|
||||||
(directive_start) @function
|
|
||||||
(directive_end) @function
|
|
||||||
(comment) @comment
|
|
||||||
((parameter) @include (#set! "priority" 110))
|
|
||||||
((php_only) @include (#set! "priority" 110))
|
|
||||||
((bracket_start) @function (#set! "priority" 120))
|
|
||||||
((bracket_end) @function (#set! "priority" 120))
|
|
||||||
(keyword) @function
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
((php) @injection.content
|
|
||||||
(#set! injection.combined)
|
|
||||||
(#set! injection.language php))
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
-- Loadnoptions before anything
|
|
||||||
require("aleidk.options")
|
|
||||||
|
|
||||||
require("aleidk.lazy")
|
|
||||||
|
|
||||||
require("aleidk.keymaps")
|
|
||||||
require("aleidk.autocmds")
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
{
|
|
||||||
"LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" },
|
|
||||||
"blink.cmp": { "branch": "main", "commit": "81069e3955a8b4d5063287a2a6a47a844e9ca2cb" },
|
|
||||||
"blink.compat": { "branch": "main", "commit": "08943fdf2eb00432d6205db6d0239434135416bd" },
|
|
||||||
"catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" },
|
|
||||||
"ccc.nvim": { "branch": "main", "commit": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a" },
|
|
||||||
"comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" },
|
|
||||||
"conform.nvim": { "branch": "master", "commit": "a203480a350b03092e473bf3001733d547160a73" },
|
|
||||||
"copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" },
|
|
||||||
"dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
|
|
||||||
"grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" },
|
|
||||||
"luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
|
||||||
"mini.clue": { "branch": "main", "commit": "8e329f586a7cfd06085859066a4b60965fc4ecce" },
|
|
||||||
"mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" },
|
|
||||||
"mini.surround": { "branch": "main", "commit": "0e67c4bc147f2a15cee94e7c94dcc0e115b9f55e" },
|
|
||||||
"neogen": { "branch": "main", "commit": "dc50715c009f89b8111197fd2f282f6042daa7ea" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "c6f6fb178ebe9b4fd90383de743c3399f8c3a37c" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
|
|
||||||
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
|
|
||||||
"nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "4ae9796c4e95ca84ec77946a9f9089b8f1a3eec9" },
|
|
||||||
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "8d4fdc5e47e2a4e00179e43f56221250ce365973" },
|
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "6b081ea63a3711243d11540ce28ccdb6f35ecd33" },
|
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" },
|
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "edbe0a65cfacbbfff6a4a1e98ddd60c28c560509" },
|
|
||||||
"overseer.nvim": { "branch": "master", "commit": "10ee48ff96c8d1049efb278ea4c8cf9f3b0e4326" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
|
||||||
"remote-nvim.nvim": { "branch": "main", "commit": "66fc20fd259401c7bb6ac5189ecb6283c2eb65d2" },
|
|
||||||
"remote-sshfs.nvim": { "branch": "main", "commit": "03f6c40c4032eeb1ab91368e06db9c3f3a97a75d" },
|
|
||||||
"render-markdown": { "branch": "main", "commit": "6096cf3608b576a38fd1396227dbc0473091714d" },
|
|
||||||
"smart-splits.nvim": { "branch": "master", "commit": "fc7bb00fe67ab504356bed4310d23c2e4cb4b06b" },
|
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
|
|
||||||
"treesj": { "branch": "main", "commit": "03415ac60791d48e120a80d37e080744faf3ac15" },
|
|
||||||
"trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" },
|
|
||||||
"ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" },
|
|
||||||
"typescript-tools.nvim": { "branch": "master", "commit": "346062e8cd06e82776b60785a040dfbbdcb6de77" },
|
|
||||||
"undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" },
|
|
||||||
"vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" },
|
|
||||||
"vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" },
|
|
||||||
"vim-dadbod-ui": { "branch": "master", "commit": "28a16902cb2134c934b85da5250033ee43b0dee5" },
|
|
||||||
"vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" },
|
|
||||||
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
|
|
||||||
"yazi.nvim": { "branch": "main", "commit": "053867916a9be3cb46f84b6f095ee731bbddd213" }
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
-- Highlight on yank
|
|
||||||
-- See `:help vim.highlight.on_yank()`
|
|
||||||
local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true })
|
|
||||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
|
||||||
callback = function()
|
|
||||||
vim.highlight.on_yank()
|
|
||||||
end,
|
|
||||||
group = highlight_group,
|
|
||||||
pattern = "*",
|
|
||||||
})
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
-- [[ Basic Keymaps ]]
|
|
||||||
|
|
||||||
function MAP(mode, l, r, desc)
|
|
||||||
vim.keymap.set(mode, l, r, { desc = desc, silent = true })
|
|
||||||
end
|
|
||||||
|
|
||||||
function ReloadModule(module)
|
|
||||||
package.loaded[module] = nil
|
|
||||||
require(module)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function default(desc)
|
|
||||||
return {
|
|
||||||
silent = true,
|
|
||||||
desc = desc,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function fixIndentation()
|
|
||||||
local indent = 2
|
|
||||||
vim.opt.tabstop = indent
|
|
||||||
vim.opt.shiftwidth = indent
|
|
||||||
vim.opt.softtabstop = indent
|
|
||||||
|
|
||||||
vim.cmd("retab")
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Keymaps for better default experience
|
|
||||||
-- See `:help vim.keymap.set()`
|
|
||||||
vim.keymap.set({ "n", "v" }, "<Space>", "<Nop>", { silent = true })
|
|
||||||
|
|
||||||
-- vim.keymap.set("n", "<C-s>", "<CMD>w<CR>", default("Keep cursor centered while junping"))
|
|
||||||
|
|
||||||
-- Remap for dealing with word wrap
|
|
||||||
vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
|
||||||
vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "J", "mzJ`z", default("Keep cursor in column while joining lines"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "|", ":vs<CR>", default("Open vsplit"))
|
|
||||||
vim.keymap.set("n", "°", ":sp<CR>", default("Open split"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz", default("Keep cursor centered while junping"))
|
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz", default("Keep cursor centered while junping"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "n", "nzzzv", default("Keep cursor centered while searching"))
|
|
||||||
vim.keymap.set("n", "N", "Nzzzv", default("Keep cursor centered while searching"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "Q", "<nop>", {})
|
|
||||||
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>rw",
|
|
||||||
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
|
|
||||||
default("Search and replace current word")
|
|
||||||
)
|
|
||||||
|
|
||||||
-- vim.keymap.set("n", "<leader>rR", ":s/", default("Search and replace inline"))
|
|
||||||
-- vim.keymap.set("n", "<leader>rr", ":%s/", default("Search and replace globally"))
|
|
||||||
-- vim.keymap.set("v", "<leader>r", ":s/", default("Search and replace in selection"))
|
|
||||||
|
|
||||||
vim.keymap.set("v", "p", [["_dP]], default("Paste without lossing yanked text"))
|
|
||||||
|
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", default("Move selection down"))
|
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", default("Move selection up"))
|
|
||||||
vim.keymap.set("n", "<Leader>uI", fixIndentation, default("Fix indentation"))
|
|
||||||
vim.keymap.set("n", "<Leader>uO", function() ReloadModule('aleidk.options') end,
|
|
||||||
default("Reload the options configuration"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<Leader>uh", ":nohl<CR>", default("Remove search highlight"))
|
|
||||||
|
|
||||||
vim.keymap.set("t", "<ESC>", "<C-\\><C-n>", default("Exit insert mode on terminal"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>bc", "<Cmd>bd<CR>", default("Close buffer"))
|
|
||||||
vim.keymap.set("n", "<leader>bh", "<Cmd>bp<CR>", default("Prev buffer"))
|
|
||||||
vim.keymap.set("n", "<leader>bl", "<Cmd>bn<CR>", default("Next buffer"))
|
|
||||||
vim.keymap.set("n", "<leader>bA", "<Cmd>bufdo bd<CR>", default("Close all buffers"))
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
-- Bootstrap lazy.nvim
|
|
||||||
-- Load this file after options has been set
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- enabled_plugins is injected as a local variable in the top of the file by the dotfile manager
|
|
||||||
-- See: .dotter/global.toml inside [nvim.files] & [nvim.variables] table
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
{ import = "aleidk.plugins-core" },
|
|
||||||
{ import = "aleidk.plugins-base" },
|
|
||||||
{ import = "aleidk.plugins-ide" },
|
|
||||||
},
|
|
||||||
|
|
||||||
install = { colorscheme = { "catppuccin" } },
|
|
||||||
-- checker = { enabled = true },
|
|
||||||
})
|
|
||||||
|
|
||||||
return {
|
|
||||||
enabled_plugins
|
|
||||||
}
|
|
||||||
|
|
@ -1,135 +0,0 @@
|
||||||
-- [[ Setting options ]]
|
|
||||||
-- See `:help vim.o`
|
|
||||||
|
|
||||||
-- Set <space> as the leader key
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = " "
|
|
||||||
|
|
||||||
vim.o.diffopt = "vertical,closeoff,filler"
|
|
||||||
|
|
||||||
local opt = vim.opt
|
|
||||||
|
|
||||||
-- stylua: ignore
|
|
||||||
opt.autowrite = true -- Enable auto write
|
|
||||||
opt.clipboard = "unnamedplus" -- Sync with system clipboard
|
|
||||||
opt.completeopt = "menu,menuone,noselect"
|
|
||||||
opt.conceallevel = 2 -- Hide * markup for bold and italic
|
|
||||||
opt.confirm = true -- Confirm to save changes before exiting modified buffer
|
|
||||||
opt.cursorline = true -- Enable highlighting of the current line
|
|
||||||
opt.expandtab = true -- Use spaces instead of tabs
|
|
||||||
opt.formatoptions = "jcroqlnt" -- tcqj
|
|
||||||
opt.grepformat = "%f:%l:%c:%m"
|
|
||||||
opt.grepprg = "rg --vimgrep"
|
|
||||||
opt.ignorecase = true -- Ignore case
|
|
||||||
opt.inccommand = "nosplit" -- preview incremental substitute
|
|
||||||
opt.laststatus = 0
|
|
||||||
opt.list = true -- Show some invisible characters (tabs...
|
|
||||||
opt.mouse = "a" -- Enable mouse mode
|
|
||||||
opt.number = true -- Print line number
|
|
||||||
opt.pumblend = 10 -- Popup blend
|
|
||||||
opt.pumheight = 10 -- Maximum number of entries in a popup
|
|
||||||
opt.relativenumber = true -- Relative line numbers
|
|
||||||
opt.scrolloff = 15 -- Lines of context
|
|
||||||
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize" }
|
|
||||||
opt.shiftround = true -- Round indent
|
|
||||||
opt.shiftwidth = 2 -- Size of an indent
|
|
||||||
-- opt.shortmess:append({ W = true, I = true, c = true }) -- INFO: this control the format of some messages
|
|
||||||
opt.showmode = false -- Dont show mode since we have a statusline
|
|
||||||
opt.sidescrolloff = 8 -- Columns of context
|
|
||||||
opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time
|
|
||||||
opt.smartcase = true -- Don't ignore case with capitals
|
|
||||||
opt.smartindent = true -- Insert indents automatically
|
|
||||||
opt.spelllang = { "en" }
|
|
||||||
opt.splitbelow = true -- Put new windows below current
|
|
||||||
opt.splitright = true -- Put new windows right of current
|
|
||||||
opt.tabstop = 2 -- Number of spaces tabs count for
|
|
||||||
opt.termguicolors = true -- True color support
|
|
||||||
opt.timeoutlen = 300
|
|
||||||
opt.undofile = true
|
|
||||||
opt.undolevels = 10000
|
|
||||||
opt.updatetime = 200 -- Save swap file and trigger CursorHold
|
|
||||||
opt.wildmode = "longest,list:full" -- Command-line completion mode
|
|
||||||
opt.winminwidth = 5 -- Minimum window width
|
|
||||||
opt.wrap = false -- Disable line wrap
|
|
||||||
|
|
||||||
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
|
||||||
|
|
||||||
local fn = vim.fn
|
|
||||||
|
|
||||||
-- Quickfix customization
|
|
||||||
function _G.qftf(info)
|
|
||||||
local items
|
|
||||||
local ret = {}
|
|
||||||
-- The name of item in list is based on the directory of quickfix window.
|
|
||||||
-- Change the directory for quickfix window make the name of item shorter.
|
|
||||||
-- It's a good opportunity to change current directory in quickfixtextfunc :)
|
|
||||||
--
|
|
||||||
-- local alterBufnr = fn.bufname('#') -- alternative buffer is the buffer before enter qf window
|
|
||||||
-- local root = getRootByAlterBufnr(alterBufnr)
|
|
||||||
-- vim.cmd(('noa lcd %s'):format(fn.fnameescape(root)))
|
|
||||||
--
|
|
||||||
if info.quickfix == 1 then
|
|
||||||
items = fn.getqflist({ id = info.id, items = 0 }).items
|
|
||||||
else
|
|
||||||
items = fn.getloclist(info.winid, { id = info.id, items = 0 }).items
|
|
||||||
end
|
|
||||||
local limit = 31
|
|
||||||
local fnameFmt1, fnameFmt2 = "%-" .. limit .. "s", "…%." .. (limit - 1) .. "s"
|
|
||||||
local validFmt = "%s │%5d:%-3d│%s %s"
|
|
||||||
for i = info.start_idx, info.end_idx do
|
|
||||||
local e = items[i]
|
|
||||||
local fname = ""
|
|
||||||
local str
|
|
||||||
if e.valid == 1 then
|
|
||||||
if e.bufnr > 0 then
|
|
||||||
fname = fn.bufname(e.bufnr)
|
|
||||||
if fname == "" then
|
|
||||||
fname = "[No Name]"
|
|
||||||
else
|
|
||||||
fname = fname:gsub("^" .. vim.env.HOME, "~")
|
|
||||||
end
|
|
||||||
-- char in fname may occur more than 1 width, ignore this issue in order to keep performance
|
|
||||||
if #fname <= limit then
|
|
||||||
fname = fnameFmt1:format(fname)
|
|
||||||
else
|
|
||||||
fname = fnameFmt2:format(fname:sub(1 - limit))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
local lnum = e.lnum > 99999 and -1 or e.lnum
|
|
||||||
local col = e.col > 999 and -1 or e.col
|
|
||||||
local qtype = e.type == "" and "" or " " .. e.type:sub(1, 1):upper()
|
|
||||||
str = validFmt:format(fname, lnum, col, qtype, e.text)
|
|
||||||
else
|
|
||||||
str = e.text
|
|
||||||
end
|
|
||||||
table.insert(ret, str)
|
|
||||||
end
|
|
||||||
return ret
|
|
||||||
end
|
|
||||||
|
|
||||||
-- TODO: how to customize?
|
|
||||||
vim.o.qftf = "{info -> v:lua._G.qftf(info)}"
|
|
||||||
|
|
||||||
vim.filetype.add({
|
|
||||||
-- Detect and assign filetype based on the extension of the filename
|
|
||||||
extension = {
|
|
||||||
mdx = "mdx",
|
|
||||||
log = "log",
|
|
||||||
conf = "conf",
|
|
||||||
env = "dotenv",
|
|
||||||
},
|
|
||||||
-- Detect and apply filetypes based on the entire filename
|
|
||||||
filename = {
|
|
||||||
[".env"] = "dotenv",
|
|
||||||
["env"] = "dotenv",
|
|
||||||
["tsconfig.json"] = "jsonc",
|
|
||||||
},
|
|
||||||
-- Detect and apply filetypes based on certain patterns of the filenames
|
|
||||||
pattern = {
|
|
||||||
-- INFO: Match filenames like - ".env.example", ".env.local" and so on
|
|
||||||
["%.env%.[%w_.-]+"] = "dotenv",
|
|
||||||
[".*%.blade%.php"] = "blade",
|
|
||||||
[".*%.hurl.*"] = "hurl",
|
|
||||||
[".*/hypr/.*%.conf"] = "hyprlang",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
return {
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
event = "InsertEnter",
|
|
||||||
config = true,
|
|
||||||
opts = {}, -- this is equalent to setup({}) function
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
local function select_or_create(search)
|
|
||||||
local grapple = require("grapple")
|
|
||||||
|
|
||||||
if grapple.exists(search) then
|
|
||||||
grapple.select(search)
|
|
||||||
else
|
|
||||||
grapple.tag()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
"cbochs/grapple.nvim",
|
|
||||||
dependencies = {
|
|
||||||
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
|
||||||
},
|
|
||||||
lazy = false,
|
|
||||||
cmd = "Grapple",
|
|
||||||
config = function()
|
|
||||||
local telescope = require("telescope")
|
|
||||||
telescope.load_extension("grapple")
|
|
||||||
end,
|
|
||||||
keys = {
|
|
||||||
{ "<leader><leader>a", "<cmd>Grapple toggle<cr>", desc = "Toggle bookmark for current file" },
|
|
||||||
{ "<leader><leader>D", "<cmd>Grapple reset<cr>", desc = "Delete all bookmarks" },
|
|
||||||
{ "<leader><leader>t", "<cmd>Grapple toggle_tags<cr>", desc = "Toggle bookmarks window" },
|
|
||||||
{ "<leader><leader>T", "<cmd>Grapple toggle_scopes<cr>", desc = "Toggle scopes window" },
|
|
||||||
{ "<leader><leader>n", "<cmd>Grapple cycle forward<cr>", desc = "Next bookmark" },
|
|
||||||
{ "<leader><leader>N", "<cmd>Grapple cycle backward<cr>", desc = "Prev bookmark" },
|
|
||||||
{ "<leader><leader>j", function() select_or_create({ index = 1 }) end, desc = "Go or create bookmark 1" },
|
|
||||||
{ "<leader><leader>k", function() select_or_create({ index = 2 }) end, desc = "Go or create bookmark 2" },
|
|
||||||
{ "<leader><leader>l", function() select_or_create({ index = 3 }) end, desc = "Go or create bookmark 3" },
|
|
||||||
{ "<leader><leader>ñ", function() select_or_create({ index = 4 }) end, desc = "Go or create bookmark 4" },
|
|
||||||
{ "<leader><leader>J", "<cmd>Grapple tag index=1<cr>", desc = "Override bookmark 1" },
|
|
||||||
{ "<leader><leader>K", "<cmd>Grapple tag index=2<cr>", desc = "Override bookmark 2" },
|
|
||||||
{ "<leader><leader>L", "<cmd>Grapple tag index=3<cr>", desc = "Override bookmark 3" },
|
|
||||||
{ "<leader><leader>Ñ", "<cmd>Grapple tag index=4<cr>", desc = "Override bookmark 4" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"echasnovski/mini.comment",
|
|
||||||
version = "*",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = {
|
|
||||||
{ "nvim-treesitter/nvim-treesitter-context" },
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
options = {
|
|
||||||
custom_commentstring = function()
|
|
||||||
return require("ts_context_commentstring.internal").calculate_commentstring()
|
|
||||||
or vim.bo.commentstring
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"LudoPinelli/comment-box.nvim",
|
|
||||||
opts = {
|
|
||||||
outer_blank_lines = true,
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "gcb", function() require("comment-box").lcbox() end, { desc = "Create a comment box", mode = { "n", "v" }, } },
|
|
||||||
{ "gcl", function() require("comment-box").llline() end, { desc = "Create a comment line", mode = { "n", "v" }, } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
return {
|
|
||||||
"mikavilpas/yazi.nvim",
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>e",
|
|
||||||
"<cmd>Yazi<cr>",
|
|
||||||
desc = "Open yazi at the current file",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
-- Open in the current working directory
|
|
||||||
"<leader>E",
|
|
||||||
"<cmd>Yazi cwd<cr>",
|
|
||||||
desc = "Open the file manager in nvim's working directory",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
-- if you want to open yazi instead of netrw, see below for more info
|
|
||||||
open_for_directories = true,
|
|
||||||
open_multiple_tabs = true,
|
|
||||||
floating_window_scaling_factor = 1,
|
|
||||||
keymaps = {
|
|
||||||
show_help = '<f1>',
|
|
||||||
open_file_in_vertical_split = '<c-v>',
|
|
||||||
open_file_in_horizontal_split = '<c-s>',
|
|
||||||
open_file_in_tab = '<c-t>',
|
|
||||||
grep_in_directory = '<c-w>',
|
|
||||||
cycle_open_buffers = '<tab>',
|
|
||||||
copy_relative_path_to_selected_files = '<c-y>',
|
|
||||||
send_to_quickfix_list = '<c-q>',
|
|
||||||
change_working_directory = "<c-\\>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
return {
|
|
||||||
-- Add indentation guides even on blank lines
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
main = "ibl",
|
|
||||||
opts = {
|
|
||||||
-- char = "▏",
|
|
||||||
indent = {
|
|
||||||
char = "│",
|
|
||||||
tab_char = "│",
|
|
||||||
},
|
|
||||||
scope = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
exclude = {
|
|
||||||
filetypes = {
|
|
||||||
"help",
|
|
||||||
"alpha",
|
|
||||||
"dashboard",
|
|
||||||
"neo-tree",
|
|
||||||
"Trouble",
|
|
||||||
"lazy",
|
|
||||||
"mason",
|
|
||||||
"notify",
|
|
||||||
"toggleterm",
|
|
||||||
"lazyterm",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
return {
|
|
||||||
-- Highlight, edit, and navigate code
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
event = { "BufReadPost", "BufNewFile", "BufWritePre", "VeryLazy" },
|
|
||||||
dependencies = {
|
|
||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
||||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
|
||||||
"nvim-treesitter/nvim-treesitter-context",
|
|
||||||
{ "windwp/nvim-ts-autotag", opts = {} },
|
|
||||||
},
|
|
||||||
build = ":TSUpdate",
|
|
||||||
config = function()
|
|
||||||
---@diagnostic disable-next-line: missing-fields
|
|
||||||
require("nvim-treesitter.configs").setup({
|
|
||||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
|
||||||
auto_install = true,
|
|
||||||
highlight = { enable = true },
|
|
||||||
indent = { enable = true },
|
|
||||||
incremental_selection = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
textobjects = {
|
|
||||||
select = {
|
|
||||||
enable = true,
|
|
||||||
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
keymaps = {
|
|
||||||
-- You can use the capture groups defined in textobjects.scm
|
|
||||||
["aa"] = "@parameter.outer",
|
|
||||||
["ia"] = "@parameter.inner",
|
|
||||||
["af"] = "@function.outer",
|
|
||||||
["if"] = "@function.inner",
|
|
||||||
["ac"] = "@class.outer",
|
|
||||||
["ic"] = "@class.inner",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
move = {
|
|
||||||
enable = true,
|
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
|
||||||
goto_previous = { -- current or last start of object
|
|
||||||
["[["] = { query = "@local.scope", query_group = "locals", desc = "Next scope" },
|
|
||||||
["[f"] = "@function.outer",
|
|
||||||
["[c"] = "@class.outer",
|
|
||||||
},
|
|
||||||
goto_next = { -- next object end
|
|
||||||
["]]"] = { query = "@local.scope", query_group = "locals", desc = "Next scope" },
|
|
||||||
["]f"] = "@function.outer", -- current function end
|
|
||||||
["]c"] = "@class.outer",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
swap = {
|
|
||||||
enable = true,
|
|
||||||
swap_next = {
|
|
||||||
["<leader>ln"] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
swap_previous = {
|
|
||||||
["<leader>lN"] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- autotag = { enable = true },
|
|
||||||
})
|
|
||||||
|
|
||||||
require('ts_context_commentstring').setup {
|
|
||||||
enable_autocmd = false,
|
|
||||||
}
|
|
||||||
|
|
||||||
local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move"
|
|
||||||
|
|
||||||
-- Repeat movement with ; and ,
|
|
||||||
-- ensure , goes forward and ; goes backward regardless of the last direction
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_next)
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move_previous)
|
|
||||||
|
|
||||||
-- Optionally, make builtin f, F, t, T also repeatable with ; and ,
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "f", ts_repeat_move.builtin_f_expr, { expr = true })
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "F", ts_repeat_move.builtin_F_expr, { expr = true })
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "t", ts_repeat_move.builtin_t_expr, { expr = true })
|
|
||||||
vim.keymap.set({ "n", "x", "o" }, "T", ts_repeat_move.builtin_T_expr, { expr = true })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "[u", function()
|
|
||||||
require("treesitter-context").go_to_context()
|
|
||||||
end, { silent = true, noremap = true, desc = "Go up when context is out of view" })
|
|
||||||
|
|
||||||
vim.opt.foldmethod = "expr"
|
|
||||||
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
|
||||||
|
|
||||||
-- Uncoment this line to disable auto folding on file open
|
|
||||||
vim.cmd("set nofoldenable")
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,217 +0,0 @@
|
||||||
local icons = require("aleidk.constants").icons
|
|
||||||
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
opts = {
|
|
||||||
render = "compact",
|
|
||||||
fps = "60",
|
|
||||||
timeout = 2000,
|
|
||||||
stages = "slide",
|
|
||||||
icons = {
|
|
||||||
DEBUG = "",
|
|
||||||
TRACE = "✎",
|
|
||||||
ERROR = icons.diagnostics.Error,
|
|
||||||
INFO = icons.diagnostics.Info,
|
|
||||||
WARN = icons.diagnostics.Warn,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
-- better imputs
|
|
||||||
"stevearc/dressing.nvim",
|
|
||||||
opts = {
|
|
||||||
input = {
|
|
||||||
-- handle by noice
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"folke/noice.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = {
|
|
||||||
"MunifTanjim/nui.nvim",
|
|
||||||
"rcarriga/nvim-notify",
|
|
||||||
},
|
|
||||||
---@type NoiceConfig
|
|
||||||
opts = {
|
|
||||||
presets = {
|
|
||||||
bottom_search = true,
|
|
||||||
long_message_to_split = true,
|
|
||||||
inc_rename = true,
|
|
||||||
lsp_doc_border = true,
|
|
||||||
},
|
|
||||||
lsp = {
|
|
||||||
override = {
|
|
||||||
-- override the default lsp markdown formatter with Noice
|
|
||||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
|
||||||
-- override the lsp markdown formatter with Noice
|
|
||||||
["vim.lsp.util.stylize_markdown"] = true,
|
|
||||||
-- override cmp documentation with Noice (needs the other options to work)
|
|
||||||
["cmp.entry.get_documentation"] = true,
|
|
||||||
},
|
|
||||||
message = {
|
|
||||||
view = "mini",
|
|
||||||
view_search = false,
|
|
||||||
},
|
|
||||||
progress = {
|
|
||||||
view = "mini_left"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
---@type NoiceRouteConfig[]
|
|
||||||
routes = {
|
|
||||||
{
|
|
||||||
-- Don't show these messages
|
|
||||||
opts = { skip = true },
|
|
||||||
filter = {
|
|
||||||
any = {
|
|
||||||
{
|
|
||||||
event = "msg_show",
|
|
||||||
kind = "search_count",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event = "msg_show",
|
|
||||||
kind = "",
|
|
||||||
find = "written", -- file saved msg
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event = "msg_show",
|
|
||||||
kind = "",
|
|
||||||
find = "yazi.nvim",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
event = "msg_show",
|
|
||||||
kind = "",
|
|
||||||
find = "%d+ (more|fewer) lines", -- undo/redo msg
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filter = {
|
|
||||||
event = "notify",
|
|
||||||
min_height = 15
|
|
||||||
},
|
|
||||||
view = 'popup',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
filter = {
|
|
||||||
event = "notify",
|
|
||||||
kind = "info"
|
|
||||||
},
|
|
||||||
view = 'mini'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
---@type NoiceConfigViews
|
|
||||||
views = {
|
|
||||||
notify = {
|
|
||||||
merge = true
|
|
||||||
},
|
|
||||||
cmdline_popup = {
|
|
||||||
position = {
|
|
||||||
row = 5,
|
|
||||||
col = "50%",
|
|
||||||
},
|
|
||||||
size = {
|
|
||||||
width = 60,
|
|
||||||
height = "auto",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
popupmenu = {
|
|
||||||
relative = "editor",
|
|
||||||
position = {
|
|
||||||
row = 8,
|
|
||||||
col = "50%",
|
|
||||||
},
|
|
||||||
size = {
|
|
||||||
width = 60,
|
|
||||||
height = 10,
|
|
||||||
},
|
|
||||||
border = {
|
|
||||||
style = "rounded",
|
|
||||||
padding = { 0, 1 },
|
|
||||||
},
|
|
||||||
win_options = {
|
|
||||||
winhighlight = { Normal = "Normal", FloatBorder = "DiagnosticInfo" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
mini_left = {
|
|
||||||
backend = "mini",
|
|
||||||
relative = "editor",
|
|
||||||
align = "left",
|
|
||||||
timeout = 2000,
|
|
||||||
reverse = true,
|
|
||||||
focusable = false,
|
|
||||||
position = {
|
|
||||||
row = -1,
|
|
||||||
col = 0,
|
|
||||||
},
|
|
||||||
size = {
|
|
||||||
width = "auto",
|
|
||||||
height = "auto",
|
|
||||||
max_height = 10,
|
|
||||||
},
|
|
||||||
border = {
|
|
||||||
style = "none",
|
|
||||||
},
|
|
||||||
zindex = 60,
|
|
||||||
win_options = {
|
|
||||||
winbar = "",
|
|
||||||
foldenable = false,
|
|
||||||
winblend = 30,
|
|
||||||
winhighlight = {
|
|
||||||
Normal = "NoiceMini",
|
|
||||||
IncSearch = "",
|
|
||||||
CurSearch = "",
|
|
||||||
Search = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- stylua: ignore
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<S-Enter>",
|
|
||||||
function() require("noice").redirect(vim.fn.getcmdline()) end,
|
|
||||||
mode = "c",
|
|
||||||
desc =
|
|
||||||
"Redirect Cmdline"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>um",
|
|
||||||
function() require("noice").cmd("last") end,
|
|
||||||
desc =
|
|
||||||
"Messages last"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>uM",
|
|
||||||
function() require("noice").cmd("history") end,
|
|
||||||
desc =
|
|
||||||
"Messages all"
|
|
||||||
},
|
|
||||||
{ "<leader>uX", function() require("noice").cmd("dismiss") end, desc = "Message dismiss all" },
|
|
||||||
{
|
|
||||||
"<c-d>",
|
|
||||||
function() if not require("noice.lsp").scroll(4) then return "<c-d>" end end,
|
|
||||||
silent = true,
|
|
||||||
expr = true,
|
|
||||||
desc =
|
|
||||||
"Scroll forward",
|
|
||||||
mode = {
|
|
||||||
"i", "n", "s" }
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<c-u>",
|
|
||||||
function() if not require("noice.lsp").scroll(-4) then return "<c-u>" end end,
|
|
||||||
silent = true,
|
|
||||||
expr = true,
|
|
||||||
desc =
|
|
||||||
"Scroll backward",
|
|
||||||
mode = {
|
|
||||||
"i", "n", "s" }
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"mbbill/undotree",
|
|
||||||
config = function()
|
|
||||||
vim.g.undotree_WindowLayout = 2
|
|
||||||
vim.g.undotree_ShortIndicators = 1
|
|
||||||
vim.g.undotree_SetFocusWhenToggle = 1
|
|
||||||
end,
|
|
||||||
keys = {
|
|
||||||
{ "<leader>fu", vim.cmd.UndotreeToggle, desc = "Undo tree" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
return { -- Change colors.none if not using a transparent background
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
priority = 1000,
|
|
||||||
config = function()
|
|
||||||
local utils = require("catppuccin.utils.colors")
|
|
||||||
|
|
||||||
local opts = {
|
|
||||||
flavour = "macchiato",
|
|
||||||
transparent_background = true,
|
|
||||||
integrations = {
|
|
||||||
aerial = true,
|
|
||||||
blink_cmp = true,
|
|
||||||
cmp = true,
|
|
||||||
gitsigns = true,
|
|
||||||
indent_blankline = { enabled = true, scope_color = "text", },
|
|
||||||
lsp_trouble = true,
|
|
||||||
mason = true,
|
|
||||||
noice = true,
|
|
||||||
notify = true,
|
|
||||||
},
|
|
||||||
custom_highlights = function(colors)
|
|
||||||
return {
|
|
||||||
-- Fix colors for cmp
|
|
||||||
Pmenu = { bg = colors.none, blend = 0 },
|
|
||||||
FloatBorder = { bg = colors.none },
|
|
||||||
CmpItemMenu = { fg = colors.text, bg = colors.none },
|
|
||||||
-- dadbod-ui
|
|
||||||
NotificationInfo = { bg = colors.none, fg = colors.text },
|
|
||||||
NotificationWarning = { bg = colors.none, fg = colors.yellow },
|
|
||||||
NotificationError = { bg = colors.none, fg = colors.red },
|
|
||||||
|
|
||||||
-- for word diff in previews
|
|
||||||
GitSignsAddInline = {
|
|
||||||
fg = colors.teal,
|
|
||||||
bg = utils.darken(colors.teal, 0.4),
|
|
||||||
style = { "bold" },
|
|
||||||
},
|
|
||||||
GitSignsDeleteInline = {
|
|
||||||
fg = colors.red,
|
|
||||||
bg = utils.darken(colors.red, 0.4),
|
|
||||||
style = { "bold" },
|
|
||||||
},
|
|
||||||
GitSignsChangeInline = {
|
|
||||||
fg = colors.mauve,
|
|
||||||
bg = utils.darken(colors.mauve, 0.4),
|
|
||||||
style = { "bold" },
|
|
||||||
},
|
|
||||||
GitSignsDeleteVirtLn = { bg = colors.none, fg = colors.red },
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
require("catppuccin").setup(opts)
|
|
||||||
vim.cmd.colorscheme("catppuccin-macchiato")
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
return {
|
|
||||||
-- Detect tabstop and shiftwidth automatically
|
|
||||||
"tpope/vim-sleuth",
|
|
||||||
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
|
||||||
{
|
|
||||||
-- Highlight word under cursor
|
|
||||||
"RRethy/vim-illuminate",
|
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
|
||||||
opts = {
|
|
||||||
delay = 200,
|
|
||||||
filetypes_denylist = {
|
|
||||||
'dirbuf',
|
|
||||||
'dirvish',
|
|
||||||
'fugitive',
|
|
||||||
'aerial',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("illuminate").configure(opts)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,85 +0,0 @@
|
||||||
return {
|
|
||||||
"echasnovski/mini.clue",
|
|
||||||
version = "*",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
local miniclue = require("mini.clue")
|
|
||||||
miniclue.setup({
|
|
||||||
triggers = {
|
|
||||||
-- Leader triggers
|
|
||||||
{ mode = "n", keys = "<Leader>" },
|
|
||||||
{ mode = "v", keys = "<Leader>" },
|
|
||||||
{ mode = "x", keys = "<Leader>" },
|
|
||||||
|
|
||||||
-- Built-in completion
|
|
||||||
{ mode = "i", keys = "<C-x>" },
|
|
||||||
|
|
||||||
-- `g` key
|
|
||||||
{ mode = "n", keys = "g" },
|
|
||||||
{ mode = "x", keys = "g" },
|
|
||||||
|
|
||||||
-- Marks
|
|
||||||
{ mode = "n", keys = "'" },
|
|
||||||
{ mode = "n", keys = "`" },
|
|
||||||
{ mode = "x", keys = "'" },
|
|
||||||
{ mode = "x", keys = "`" },
|
|
||||||
|
|
||||||
-- Registers
|
|
||||||
{ mode = "n", keys = '"' },
|
|
||||||
{ mode = "x", keys = '"' },
|
|
||||||
{ mode = "i", keys = "<C-r>" },
|
|
||||||
{ mode = "c", keys = "<C-r>" },
|
|
||||||
|
|
||||||
-- Window commands
|
|
||||||
{ mode = "n", keys = "<C-w>" },
|
|
||||||
|
|
||||||
-- `z` key
|
|
||||||
{ mode = "n", keys = "z" },
|
|
||||||
{ mode = "x", keys = "z" },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Add a "postkeys" value to activate those keys after others
|
|
||||||
clues = {
|
|
||||||
miniclue.gen_clues.builtin_completion(),
|
|
||||||
miniclue.gen_clues.g(),
|
|
||||||
miniclue.gen_clues.marks(),
|
|
||||||
miniclue.gen_clues.registers(),
|
|
||||||
miniclue.gen_clues.windows(),
|
|
||||||
miniclue.gen_clues.z(),
|
|
||||||
|
|
||||||
{ mode = "n", keys = "<Leader><Leader>", desc = "+Bookmarks" },
|
|
||||||
{ mode = "n", keys = "<Leader><Leader>n", postkeys = "<Leader><Leader>" },
|
|
||||||
{ mode = "n", keys = "<Leader><Leader>N", postkeys = "<Leader><Leader>" },
|
|
||||||
{ mode = "n", keys = "<Leader>b", desc = "+Buffers" },
|
|
||||||
{ mode = "n", keys = "<Leader>bh", postkeys = "<Leader>b" },
|
|
||||||
{ mode = "n", keys = "<Leader>bl", postkeys = "<Leader>b" },
|
|
||||||
{ mode = "n", keys = "<Leader>f", desc = "+Find" },
|
|
||||||
{ mode = "n", keys = "<Leader>g", desc = "+Git" },
|
|
||||||
{ mode = "n", keys = "<Leader>l", desc = "+LSP" },
|
|
||||||
{ mode = "n", keys = "<Leader>r", desc = "+Replace" },
|
|
||||||
{ mode = "n", keys = "<Leader>u", desc = "+UI & Config" },
|
|
||||||
{ mode = "n", keys = "<Leader>un", desc = "+Noice" },
|
|
||||||
{ mode = "n", keys = "<Leader>w", desc = "+Workspace" },
|
|
||||||
{ mode = "n", keys = "<Leader>p", desc = "+Run stuff" },
|
|
||||||
{ mode = "n", keys = "<Leader>z", desc = "+ZK" },
|
|
||||||
{ mode = "v", keys = "<Leader>z", desc = "+ZK" },
|
|
||||||
{ mode = "v", keys = "<Leader>a", desc = "+AI" },
|
|
||||||
{ mode = "n", keys = "<Leader>a", desc = "+AI" },
|
|
||||||
{ mode = "n", keys = "g?", desc = "+Print Debug" },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Clue window settings
|
|
||||||
window = {
|
|
||||||
-- Floating window config
|
|
||||||
config = {
|
|
||||||
width = "auto",
|
|
||||||
},
|
|
||||||
-- Delay before showing clue window
|
|
||||||
delay = 200,
|
|
||||||
-- Keys to scroll inside the clue window
|
|
||||||
scroll_down = "<C-d>",
|
|
||||||
scroll_up = "<C-u>",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,189 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
"cbochs/grapple.nvim",
|
|
||||||
{ 'AndreM222/copilot-lualine' }
|
|
||||||
},
|
|
||||||
opts = function()
|
|
||||||
local icons = require("aleidk.constants").icons
|
|
||||||
local palete = require("catppuccin.palettes").get_palette "macchiato"
|
|
||||||
|
|
||||||
local function diff_source()
|
|
||||||
local gitsigns = vim.b.gitsigns_status_dict
|
|
||||||
if gitsigns then
|
|
||||||
return {
|
|
||||||
added = gitsigns.added,
|
|
||||||
modified = gitsigns.changed,
|
|
||||||
removed = gitsigns.removed,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function position_scrollbar(str)
|
|
||||||
local sbar = { "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" }
|
|
||||||
|
|
||||||
local curr_line = vim.api.nvim_win_get_cursor(0)[1]
|
|
||||||
local lines = vim.api.nvim_buf_line_count(0)
|
|
||||||
local i = math.floor((curr_line - 1) / lines * #sbar) + 1
|
|
||||||
return str .. " " .. sbar[i]
|
|
||||||
end
|
|
||||||
|
|
||||||
local codecompanion_status = require("lualine.component"):extend()
|
|
||||||
|
|
||||||
codecompanion_status.processing = false
|
|
||||||
codecompanion_status.spinner_index = 1
|
|
||||||
|
|
||||||
local spinner_symbols = require("copilot-lualine.spinners").bouncing_bar
|
|
||||||
|
|
||||||
-- Initializer
|
|
||||||
function codecompanion_status:init(options)
|
|
||||||
codecompanion_status.super.init(self, options)
|
|
||||||
|
|
||||||
local group = vim.api.nvim_create_augroup("CodeCompanionHooks", {})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "User" }, {
|
|
||||||
pattern = "CodeCompanionRequest*",
|
|
||||||
group = group,
|
|
||||||
callback = function(request)
|
|
||||||
if request.match == "CodeCompanionRequestStarted" then
|
|
||||||
self.processing = true
|
|
||||||
elseif request.match == "CodeCompanionRequestFinished" then
|
|
||||||
self.processing = false
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Function that runs every time statusline is updated
|
|
||||||
function codecompanion_status:update_status()
|
|
||||||
if self.processing then
|
|
||||||
self.spinner_index = (self.spinner_index % #spinner_symbols) + 1
|
|
||||||
return spinner_symbols[self.spinner_index]
|
|
||||||
else
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
options = {
|
|
||||||
theme = "catppuccin",
|
|
||||||
globalstatus = true,
|
|
||||||
disabled_filetypes = { statusline = { "dashboard", "alpha" } },
|
|
||||||
component_separators = "",
|
|
||||||
section_separators = "",
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {
|
|
||||||
{
|
|
||||||
"mode",
|
|
||||||
padding = 0,
|
|
||||||
fmt = function()
|
|
||||||
return " "
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {
|
|
||||||
{ "branch", icon = icons.git.branch },
|
|
||||||
{
|
|
||||||
"diff",
|
|
||||||
symbols = {
|
|
||||||
added = icons.git.added,
|
|
||||||
modified = icons.git.modified,
|
|
||||||
removed = icons.git.removed,
|
|
||||||
},
|
|
||||||
source = diff_source,
|
|
||||||
},
|
|
||||||
{ codecompanion_status },
|
|
||||||
{
|
|
||||||
"diagnostics",
|
|
||||||
symbols = {
|
|
||||||
error = icons.diagnostics.Error,
|
|
||||||
warn = icons.diagnostics.Warn,
|
|
||||||
info = icons.diagnostics.Info,
|
|
||||||
hint = icons.diagnostics.Hint,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"filetype",
|
|
||||||
{
|
|
||||||
"filename",
|
|
||||||
path = 1,
|
|
||||||
symbols = {
|
|
||||||
modified = "●", -- Text to show when the buffer is modified
|
|
||||||
alternate_file = "#", -- Text to show to identify the alternate file
|
|
||||||
directory = "", -- Text to show when the buffer is a directory
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_x = {
|
|
||||||
{
|
|
||||||
"overseer",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
function()
|
|
||||||
return require("grapple").statusline()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"copilot",
|
|
||||||
cond = function()
|
|
||||||
return vim.bo.filetype ~= "codecompanion"
|
|
||||||
end,
|
|
||||||
show_colors = true,
|
|
||||||
symbols = {
|
|
||||||
status = {
|
|
||||||
icons = {
|
|
||||||
enabled = " ",
|
|
||||||
sleep = " ", -- auto-trigger disabled
|
|
||||||
disabled = " ",
|
|
||||||
warning = " ",
|
|
||||||
unknown = " "
|
|
||||||
},
|
|
||||||
hl = {
|
|
||||||
enabled = palete.teal,
|
|
||||||
sleep = palete.lavender,
|
|
||||||
disabled = palete.subtext0,
|
|
||||||
warning = palete.peach,
|
|
||||||
unknown = palete.red
|
|
||||||
}
|
|
||||||
},
|
|
||||||
spinners = spinner_symbols,
|
|
||||||
spinner_color = palete.mauve
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_y = {
|
|
||||||
{
|
|
||||||
-- Macro recording status
|
|
||||||
function()
|
|
||||||
return require("noice").api.status.mode.get()
|
|
||||||
end,
|
|
||||||
cond = function()
|
|
||||||
return package.loaded["noice"] and require("noice").api.status.mode.has()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{ "searchcount" },
|
|
||||||
{ "location" },
|
|
||||||
{
|
|
||||||
"progress",
|
|
||||||
fmt = position_scrollbar,
|
|
||||||
separator = " ",
|
|
||||||
padding = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_z = {},
|
|
||||||
},
|
|
||||||
extensions = {
|
|
||||||
"lazy",
|
|
||||||
"fzf",
|
|
||||||
"man",
|
|
||||||
"mason",
|
|
||||||
"quickfix",
|
|
||||||
"trouble",
|
|
||||||
"toggleterm",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"MeanderingProgrammer/markdown.nvim",
|
|
||||||
name = "render-markdown", -- Only needed if you have another plugin named markdown.nvim
|
|
||||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
|
|
||||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons" }, -- if you prefer nvim-web-devicons
|
|
||||||
opts = {
|
|
||||||
file_types = { 'markdown', 'copilot-chat' },
|
|
||||||
sign = {
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
return {
|
|
||||||
"echasnovski/mini.surround",
|
|
||||||
disabled = true,
|
|
||||||
version = "*",
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
|
|
@ -1,83 +0,0 @@
|
||||||
-- Fuzzy Finder (files, lsp, etc)
|
|
||||||
return {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
branch = "0.1.x",
|
|
||||||
dependencies = {
|
|
||||||
{ "nvim-lua/plenary.nvim" },
|
|
||||||
{
|
|
||||||
-- Blazingly Fast Fuzzy Finder Algorithm for Telescope
|
|
||||||
"nvim-telescope/telescope-fzf-native.nvim",
|
|
||||||
build = "make",
|
|
||||||
cond = function()
|
|
||||||
return vim.fn.executable("make") == 1
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local actions = require("telescope.actions")
|
|
||||||
local telescope = require("telescope")
|
|
||||||
local builtin = require("telescope.builtin")
|
|
||||||
|
|
||||||
local opts = {
|
|
||||||
defaults = {
|
|
||||||
prompt_prefix = " ",
|
|
||||||
selection_caret = " ",
|
|
||||||
layout_strategy = "flex",
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
["<c-u>"] = actions.preview_scrolling_up,
|
|
||||||
["<c-d>"] = actions.preview_scrolling_down,
|
|
||||||
["<C-j>"] = actions.move_selection_next,
|
|
||||||
["<C-k>"] = actions.move_selection_previous,
|
|
||||||
["<C-s>"] = actions.file_vsplit,
|
|
||||||
["<C-v>"] = actions.file_split,
|
|
||||||
["<ESC>"] = actions.close,
|
|
||||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
|
||||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
|
||||||
["<c-t>"] = require("trouble.sources.telescope").open,
|
|
||||||
["<a-t>"] = require("trouble.sources.telescope").open,
|
|
||||||
["<M-h>"] = actions.which_key,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
pickers = {
|
|
||||||
find_files = {
|
|
||||||
hidden = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
telescope.setup(opts)
|
|
||||||
|
|
||||||
-- Enable telescope fzf native, if installed
|
|
||||||
pcall(telescope.load_extension, "fzf")
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Find buffers" })
|
|
||||||
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Find files" })
|
|
||||||
vim.keymap.set("n", "<leader>fF", function()
|
|
||||||
builtin.find_files({ hidden = true, no_ignore = true })
|
|
||||||
end, { desc = "Find all files" })
|
|
||||||
|
|
||||||
-- Search inside files
|
|
||||||
vim.keymap.set("n", "<leader>fw", builtin.grep_string, { desc = "Find word under cursor" })
|
|
||||||
vim.keymap.set("n", "<leader>fW", builtin.live_grep, { desc = "Find word (live grep)" })
|
|
||||||
|
|
||||||
-- Help
|
|
||||||
vim.keymap.set("n", "<leader>fc", builtin.command_history, { desc = "Find in commands history" })
|
|
||||||
vim.keymap.set("n", "<leader>fC", builtin.commands, { desc = "Find a command" })
|
|
||||||
vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Find Help" })
|
|
||||||
vim.keymap.set("n", "<leader>fk", builtin.keymaps, { desc = "Find Keymaps" })
|
|
||||||
|
|
||||||
-- Git
|
|
||||||
vim.keymap.set("n", "<leader>gb", builtin.git_branches, { desc = "Change branch" })
|
|
||||||
|
|
||||||
-- Diagnosticos
|
|
||||||
-- Disabled, handle by trouble
|
|
||||||
-- vim.keymap.set("n", "<leader>fD", function()
|
|
||||||
-- builtin.diagnostics({ bufnr = 0 })
|
|
||||||
-- end, { desc = "Find diagnostics (Telescope)" })
|
|
||||||
-- vim.keymap.set("n", "<leader>fD", function()
|
|
||||||
-- builtin.diagnostics({ bufnr = nil })
|
|
||||||
-- end, { desc = "Find diagnostics in workspace (Telescope)" })
|
|
||||||
-- vim.keymap.set("n", "<leader>fz", builtin.spell_suggest, { desc = "Find spell suggestion" })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
return {
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
cmd = { "TodoTrouble", "TodoTelescope" },
|
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
|
||||||
config = true,
|
|
||||||
keys = {
|
|
||||||
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
|
||||||
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
|
||||||
{ "<leader>ft", "<cmd>TodoTrouble<cr>", desc = "Find todos (Trouble)" },
|
|
||||||
{ "<leader>fT", "<cmd>TodoTelescope<cr>", desc = "Find todos (Telescope)" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
-- Color Picker
|
|
||||||
"uga-rosa/ccc.nvim",
|
|
||||||
opts = {
|
|
||||||
auto_enable = true,
|
|
||||||
lsp = true,
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>uc", "<CMD>CccPick<CR>", desc = "Open Color picker" },
|
|
||||||
{ "<leader>uC", "<CMD>CccHighlighterToggle<CR>", desc = "Toggle Color highlight" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
return {
|
|
||||||
"saghen/blink.cmp",
|
|
||||||
lazy = false,
|
|
||||||
version = "*",
|
|
||||||
dependencies = {
|
|
||||||
"rafamadriz/friendly-snippets",
|
|
||||||
"folke/lazydev.nvim",
|
|
||||||
{ "saghen/blink.compat", version = "*", },
|
|
||||||
},
|
|
||||||
opts = function()
|
|
||||||
local window_options = {
|
|
||||||
border = "rounded",
|
|
||||||
winblend = vim.o.pumblend,
|
|
||||||
}
|
|
||||||
|
|
||||||
---@module 'blink.cmp'
|
|
||||||
---@type blink.cmp.Config
|
|
||||||
return {
|
|
||||||
sources = {
|
|
||||||
providers = {
|
|
||||||
dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" },
|
|
||||||
lazydev = { name = "LazyDev", module = "lazydev.integrations.blink" },
|
|
||||||
luasnip = {
|
|
||||||
name = 'luasnip',
|
|
||||||
module = 'blink.compat.source',
|
|
||||||
score_offset = -3,
|
|
||||||
opts = {
|
|
||||||
use_show_condition = false,
|
|
||||||
show_autosnippets = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- nvim-cmp sources
|
|
||||||
compat = {},
|
|
||||||
completion = {
|
|
||||||
enabled_providers = {
|
|
||||||
"lsp",
|
|
||||||
"path",
|
|
||||||
"snippets",
|
|
||||||
"buffer",
|
|
||||||
"dadbod",
|
|
||||||
"lazydev",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
accept = {
|
|
||||||
auto_brackets = { enabled = true },
|
|
||||||
expand_snippet = function(snippet) require('luasnip').lsp_expand(snippet) end,
|
|
||||||
},
|
|
||||||
-- trigger = { signature_help = { enabled = true } },
|
|
||||||
keymap = {
|
|
||||||
preset = "enter",
|
|
||||||
["<C-j>"] = { 'select_next', 'fallback' },
|
|
||||||
["<C-k>"] = { 'select_prev', 'fallback' },
|
|
||||||
["<C-u>"] = { 'scroll_documentation_up', 'fallback' },
|
|
||||||
["<C-d>"] = { 'scroll_documentation_down', 'fallback' },
|
|
||||||
},
|
|
||||||
highlight = {
|
|
||||||
-- sets the fallback highlight groups to nvim-cmp's highlight groups
|
|
||||||
-- useful for when your theme doesn't support blink.cmp
|
|
||||||
-- will be removed in a future release, assuming themes add support
|
|
||||||
use_nvim_cmp_as_default = false,
|
|
||||||
},
|
|
||||||
-- set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
|
||||||
-- adjusts spacing to ensure icons are aligned
|
|
||||||
nerd_font_variant = "mono",
|
|
||||||
windows = {
|
|
||||||
autocomplete = vim.tbl_extend("force", window_options, {
|
|
||||||
selection = "manual",
|
|
||||||
---@type blink.cmp.Draw
|
|
||||||
draw = {
|
|
||||||
components = {
|
|
||||||
kind_icon = {
|
|
||||||
text = function(ctx)
|
|
||||||
return ctx.kind_icon .. ctx.icon_gap
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
documentation = vim.tbl_extend("force", window_options, {
|
|
||||||
auto_show = true,
|
|
||||||
winblend = 0,
|
|
||||||
}),
|
|
||||||
ghost_text = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
kind_icons = require("aleidk.constants").icons.kinds,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
@ -1,44 +0,0 @@
|
||||||
return {
|
|
||||||
"kristijanhusak/vim-dadbod-ui",
|
|
||||||
dependencies = {
|
|
||||||
{ "tpope/vim-dadbod", lazy = true },
|
|
||||||
{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
|
|
||||||
},
|
|
||||||
cmd = {
|
|
||||||
"DBUI",
|
|
||||||
"DBUIToggle",
|
|
||||||
"DBUIAddConnection",
|
|
||||||
"DBUIFindBuffer",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<Leader>ud", "<CMD>DBUIToggle<CR>", desc = "Toggle DB UI" },
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
-- Your DBUI configuration
|
|
||||||
vim.g.db_ui_use_nerd_fonts = 1
|
|
||||||
vim.g.db_ui_force_echo_notifications = 1
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = {
|
|
||||||
"sql",
|
|
||||||
"mysql",
|
|
||||||
"plsql",
|
|
||||||
},
|
|
||||||
command = [[setlocal omnifunc=vim_dadbod_completion#omni]],
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = {
|
|
||||||
"sql",
|
|
||||||
"mysql",
|
|
||||||
"plsql",
|
|
||||||
},
|
|
||||||
callback = function()
|
|
||||||
---@diagnostic disable-next-line: missing-fields
|
|
||||||
require("cmp").setup.buffer({
|
|
||||||
sources = { { name = "vim-dadbod-completion" }, { name = "buffer" } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
return {
|
|
||||||
"danymat/neogen",
|
|
||||||
opts = { snippet_engine = "luasnip" },
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
version = "*", -- stable releases
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"gcd",
|
|
||||||
function()
|
|
||||||
require("neogen").generate()
|
|
||||||
end,
|
|
||||||
desc = "Generate comment docstring",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,124 +0,0 @@
|
||||||
return {
|
|
||||||
"stevearc/conform.nvim",
|
|
||||||
event = { "BufWritePre" },
|
|
||||||
cmd = { "ConformInfo" },
|
|
||||||
opts = {
|
|
||||||
-- log_level = vim.log.levels.DEBUG,
|
|
||||||
|
|
||||||
-- See aviable formatters in: https://github.com/stevearc/conform.nvim#formatters
|
|
||||||
-- Formatters can be installed by mason
|
|
||||||
formatters_by_ft = {
|
|
||||||
-- Conform will run multiple formatters sequentially
|
|
||||||
-- Use a stop_after_first = true to run only the first available formatter
|
|
||||||
-- Use the "_" filetype to run formatters on filetypes that don't
|
|
||||||
-- have other formatters configured.
|
|
||||||
["_"] = { "trim_whitespace" },
|
|
||||||
blade = { "blade-formatter" },
|
|
||||||
css = { "biome" },
|
|
||||||
go = { "gofumpt", "goimports_reviser", "golines" },
|
|
||||||
html = { "djlint", "prettierd", stop_after_first = true },
|
|
||||||
htmldjango = { "djlint", stop_after_first = true },
|
|
||||||
javascript = { "biome" },
|
|
||||||
javascriptreact = { "biome" },
|
|
||||||
json = { "biome" },
|
|
||||||
jsonc = { "biome" },
|
|
||||||
lua = { "stylua" },
|
|
||||||
markdown = { "markdownlint" },
|
|
||||||
nim = { "nimpretty" },
|
|
||||||
php = { "pint" },
|
|
||||||
python = { "ruff_format", "ruff_organize_imports" },
|
|
||||||
scss = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
sh = { "shfmt" },
|
|
||||||
toml = { "taplo" },
|
|
||||||
typescript = { "biome" },
|
|
||||||
typescriptreact = { "biome" },
|
|
||||||
xml = { "lemminx" },
|
|
||||||
zsh = { "shfmt" },
|
|
||||||
sql = { "sleek" }
|
|
||||||
},
|
|
||||||
formatters = {
|
|
||||||
djlint = {
|
|
||||||
prepend_args = {
|
|
||||||
"--format-css",
|
|
||||||
"--indent-css",
|
|
||||||
"2",
|
|
||||||
"--format-js",
|
|
||||||
"--indent-js",
|
|
||||||
"2",
|
|
||||||
"--indent",
|
|
||||||
"2",
|
|
||||||
"--preserve-blank-lines",
|
|
||||||
"--quiet"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
format_on_save = function(bufnr)
|
|
||||||
-- Disable with a global or buffer-local variable
|
|
||||||
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
return { timeout_ms = 2000, lsp_fallback = true }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("conform").setup(opts)
|
|
||||||
|
|
||||||
local function toggleAutoFormat()
|
|
||||||
-- to make this global, change b to g
|
|
||||||
if vim.b.disable_autoformat == nil then
|
|
||||||
vim.b.disable_autoformat = true
|
|
||||||
print("Autoformat set to: " .. tostring(not vim.b.disable_autoformat))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.b.disable_autoformat = not vim.b.disable_autoformat
|
|
||||||
print("Autoformat set to: " .. tostring(not vim.b.disable_autoformat))
|
|
||||||
end
|
|
||||||
|
|
||||||
MAP("n", "<leader>uf", toggleAutoFormat, "Toggle auto format")
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("Fmt", function(args)
|
|
||||||
local range = nil
|
|
||||||
if args.count ~= -1 then
|
|
||||||
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
|
|
||||||
range = {
|
|
||||||
start = { args.line1, 0 },
|
|
||||||
["end"] = { args.line2, end_line:len() },
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function callback(err, did_edit)
|
|
||||||
if not did_edit then
|
|
||||||
vim.notify("The file was not formatted:\n" .. tostring(err), vim.log.levels.ERROR)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if args.bang then
|
|
||||||
vim.cmd("w")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require("conform").format(
|
|
||||||
{
|
|
||||||
async = true,
|
|
||||||
lsp_format = "fallback",
|
|
||||||
range = range,
|
|
||||||
formatters = args.fargs
|
|
||||||
},
|
|
||||||
callback
|
|
||||||
)
|
|
||||||
end, {
|
|
||||||
range = true,
|
|
||||||
bang = true,
|
|
||||||
force = true,
|
|
||||||
desc = "Format the document",
|
|
||||||
nargs = '*',
|
|
||||||
-- complete = function()
|
|
||||||
-- local formatters = require('conform').formatters_by_ft
|
|
||||||
--
|
|
||||||
-- return vim.tbl_keys(formatters)
|
|
||||||
-- end
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
local const = require("aleidk.constants")
|
|
||||||
|
|
||||||
return {
|
|
||||||
{
|
|
||||||
"lewis6991/gitsigns.nvim",
|
|
||||||
event = { "BufReadPre", "BufNewFile" },
|
|
||||||
opts = {
|
|
||||||
-- See `:help gitsigns.txt`
|
|
||||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
|
||||||
numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
|
|
||||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
|
||||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
|
||||||
signs = {
|
|
||||||
add = { text = const.icons.git.added },
|
|
||||||
change = { text = const.icons.git.modified },
|
|
||||||
delete = { text = const.icons.git.removed },
|
|
||||||
topdelete = { text = const.icons.git.removed },
|
|
||||||
changedelete = { text = const.icons.git.removed },
|
|
||||||
untracked = { text = "▎" },
|
|
||||||
},
|
|
||||||
signs_staged = {
|
|
||||||
add = { text = const.icons.git.added },
|
|
||||||
change = { text = const.icons.git.modified },
|
|
||||||
delete = { text = const.icons.git.removed },
|
|
||||||
topdelete = { text = const.icons.git.removed },
|
|
||||||
changedelete = { text = const.icons.git.removed },
|
|
||||||
untracked = { text = "▎" },
|
|
||||||
},
|
|
||||||
on_attach = function(buffer)
|
|
||||||
local gs = package.loaded.gitsigns
|
|
||||||
|
|
||||||
local function map(mode, l, r, desc)
|
|
||||||
vim.keymap.set(mode, "<leader>g" .. l, r, { buffer = buffer, desc = desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
-- stylua: ignore start
|
|
||||||
map("n", "j", gs.next_hunk, "Next Hunk")
|
|
||||||
map("n", "k", gs.prev_hunk, "Prev Hunk")
|
|
||||||
map({ "n", "v" }, "s", ":Gitsigns stage_hunk<CR>", "Stage Hunk")
|
|
||||||
map({ "n", "v" }, "r", ":Gitsigns reset_hunk<CR>", "Reset Hunk")
|
|
||||||
map("n", "u", gs.undo_stage_hunk, "Undo Stage Hunk")
|
|
||||||
map("n", "R", gs.reset_buffer, "Reset Buffer")
|
|
||||||
map("n", "<TAB>", gs.preview_hunk, "Preview Hunk")
|
|
||||||
map("n", "l", function() gs.blame_line({ full = true }) end, "Blame Line")
|
|
||||||
map("n", "L", gs.toggle_current_line_blame, "Toggle current line blame")
|
|
||||||
map("n", "d", gs.toggle_word_diff, "Toggle word diff")
|
|
||||||
map("n", "h", "<CMD>diffget<CR>", "Diff This with last commit")
|
|
||||||
map("n", "l", "<CMD>diffput<CR>", "Diff This with last commit")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"ckolkey/ts-node-action",
|
|
||||||
dependencies = { "nvim-treesitter" },
|
|
||||||
opts = {},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>ls", function() require("ts-node-action").node_action() end, desc = "Node Action" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Wansmer/treesj",
|
|
||||||
cmd = { "TSJToggle" },
|
|
||||||
keys = {
|
|
||||||
{ "<leader>lm", "<CMD>TSJToggle<CR>", desc = "Toggle treesitter join" },
|
|
||||||
},
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
opts = {
|
|
||||||
use_default_keymaps = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,229 +0,0 @@
|
||||||
return {
|
|
||||||
-- LSP Plugins
|
|
||||||
{
|
|
||||||
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
|
|
||||||
-- used for completion, annotations and signatures of Neovim apis
|
|
||||||
'folke/lazydev.nvim',
|
|
||||||
ft = 'lua',
|
|
||||||
opts = {
|
|
||||||
library = {
|
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
|
||||||
{ path = 'luvit-meta/library', words = { 'vim%.uv' } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ "Bilal2453/luvit-meta", lazy = true }, -- optional `vim.uv` typings
|
|
||||||
{
|
|
||||||
-- LSP Configuration & Plugins
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
event = { "BufReadPost", "BufNewFile", "BufWritePre" },
|
|
||||||
dependencies = {
|
|
||||||
-- Automatically install LSPs to stdpath for neovim
|
|
||||||
{ "williamboman/mason.nvim", config = true },
|
|
||||||
"williamboman/mason-lspconfig.nvim",
|
|
||||||
{ 'saghen/blink.cmp' } -- autocompletion
|
|
||||||
},
|
|
||||||
|
|
||||||
config = function()
|
|
||||||
-- LSP settings.
|
|
||||||
local on_attach = function(_, bufnr)
|
|
||||||
local nmap = function(keys, func, desc)
|
|
||||||
if desc then
|
|
||||||
desc = "LSP: " .. desc
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
nmap("<leader>lr", vim.lsp.buf.rename, "Rename")
|
|
||||||
-- stylua: ignore
|
|
||||||
vim.keymap.set({ "n", "x", "v" }, "<leader>la", vim.lsp.buf.code_action, { buffer = bufnr, desc = "Code Action" })
|
|
||||||
nmap("<leader>ld", vim.lsp.buf.type_definition, "Go to type definition")
|
|
||||||
nmap("<leader>lf", function()
|
|
||||||
vim.lsp.buf.format()
|
|
||||||
end, "Format")
|
|
||||||
|
|
||||||
nmap("gd", vim.lsp.buf.definition, "Go to definition")
|
|
||||||
nmap("gr", require("telescope.builtin").lsp_references, "Goto References")
|
|
||||||
nmap("gI", vim.lsp.buf.implementation, "Go to Implementation")
|
|
||||||
|
|
||||||
-- See `:help K` for why this keymap
|
|
||||||
nmap("K", vim.lsp.buf.hover, "Hover Documentation")
|
|
||||||
-- nmap("<C-k>", vim.lsp.buf.signature_help, "Signature Documentation")
|
|
||||||
|
|
||||||
-- Lesser used LSP functionality
|
|
||||||
nmap("gD", vim.lsp.buf.declaration, "Goto Declaration")
|
|
||||||
|
|
||||||
nmap("<leader>lj", vim.diagnostic.goto_next, "Go to next diagnostic")
|
|
||||||
nmap("<leader>lk", vim.diagnostic.goto_prev, "Go to prev diagnostic")
|
|
||||||
nmap("<leader>lK", function()
|
|
||||||
-- execute twice to enter the float inmediatly
|
|
||||||
vim.diagnostic.open_float()
|
|
||||||
vim.diagnostic.open_float()
|
|
||||||
end, "Hover current diagnostic")
|
|
||||||
|
|
||||||
-- Create a command `:Format` local to the LSP buffer
|
|
||||||
vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_)
|
|
||||||
vim.lsp.buf.format()
|
|
||||||
end, { desc = "Format current buffer with LSP" })
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Enable the following language servers
|
|
||||||
-- To see options and cofigurations `:help lspconfig-all`
|
|
||||||
local servers = {
|
|
||||||
astro = {},
|
|
||||||
bashls = {},
|
|
||||||
biome = {
|
|
||||||
single_file_support = true,
|
|
||||||
},
|
|
||||||
cssls = {},
|
|
||||||
dockerls = {},
|
|
||||||
emmet_ls = {
|
|
||||||
filetypes = {
|
|
||||||
"astro",
|
|
||||||
"css",
|
|
||||||
"eruby",
|
|
||||||
"html",
|
|
||||||
"htmldjango",
|
|
||||||
"javascriptreact",
|
|
||||||
"less",
|
|
||||||
"pug",
|
|
||||||
"sass",
|
|
||||||
"scss",
|
|
||||||
"svelte",
|
|
||||||
"typescriptreact",
|
|
||||||
"vue",
|
|
||||||
"htmlangular",
|
|
||||||
"php",
|
|
||||||
"blade"
|
|
||||||
},
|
|
||||||
},
|
|
||||||
harper_ls = {},
|
|
||||||
html = {},
|
|
||||||
hyprls = {},
|
|
||||||
marksman = {},
|
|
||||||
phpactor = {},
|
|
||||||
gopls = {
|
|
||||||
settings = {
|
|
||||||
gopls = {
|
|
||||||
completeUnimported = true,
|
|
||||||
usePlaceholders = true,
|
|
||||||
analyses = {
|
|
||||||
unusedparams = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
ruff = {},
|
|
||||||
rust_analyzer = {
|
|
||||||
settings = {
|
|
||||||
["rust-analyzer"] = {
|
|
||||||
imports = {
|
|
||||||
granularity = {
|
|
||||||
group = "module",
|
|
||||||
},
|
|
||||||
prefix = "self",
|
|
||||||
},
|
|
||||||
cargo = {
|
|
||||||
buildScripts = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
procMacro = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
sqlls = {},
|
|
||||||
taplo = {},
|
|
||||||
yamlls = {
|
|
||||||
settings = {
|
|
||||||
yaml = {
|
|
||||||
schemas = {},
|
|
||||||
customTags = {
|
|
||||||
"!vault" -- ansible encrypted vars support
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lua_ls = {
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
completion = {
|
|
||||||
callSnippet = 'Replace',
|
|
||||||
},
|
|
||||||
diagnostics = { disable = { 'missing-fields' } },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
|
|
||||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
||||||
capabilities = require("blink.cmp").get_lsp_capabilities(capabilities)
|
|
||||||
|
|
||||||
-- Ensure the servers above are installed
|
|
||||||
local mason_lspconfig = require("mason-lspconfig")
|
|
||||||
|
|
||||||
mason_lspconfig.setup({
|
|
||||||
ensure_installed = vim.tbl_keys(servers),
|
|
||||||
automatic_installation = false,
|
|
||||||
})
|
|
||||||
|
|
||||||
mason_lspconfig.setup_handlers({
|
|
||||||
function(server_name)
|
|
||||||
local _border = "single"
|
|
||||||
|
|
||||||
local default_config = {
|
|
||||||
capabilities = capabilities,
|
|
||||||
on_attach = on_attach,
|
|
||||||
handlers = {
|
|
||||||
["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
|
||||||
border = _border,
|
|
||||||
}),
|
|
||||||
["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
|
||||||
border = _border,
|
|
||||||
max_width = 200,
|
|
||||||
max_height = 200,
|
|
||||||
focus = true,
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
require("lspconfig")[server_name].setup(
|
|
||||||
vim.tbl_deep_extend("force", default_config, servers[server_name] or {})
|
|
||||||
)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.diagnostic.config({
|
|
||||||
update_in_insert = false,
|
|
||||||
underline = true,
|
|
||||||
float = {
|
|
||||||
source = true
|
|
||||||
},
|
|
||||||
virtual_text = {
|
|
||||||
severity = vim.diagnostic.severity.ERROR,
|
|
||||||
source = true,
|
|
||||||
spacing = -1,
|
|
||||||
prefix = nil,
|
|
||||||
format = function(diagnostic)
|
|
||||||
-- show small error code instead of whole error that probably won't fit in the screen
|
|
||||||
-- to see the whole error use other keybindings
|
|
||||||
return tostring(diagnostic.code)
|
|
||||||
end,
|
|
||||||
virt_text_hide = true
|
|
||||||
},
|
|
||||||
severity_sort = true,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Customize gutter icons
|
|
||||||
local signs = require("aleidk.constants").icons.diagnostics
|
|
||||||
for type, icon in pairs(signs) do
|
|
||||||
local hl = "DiagnosticSign" .. type
|
|
||||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
return {
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
dependencies = {
|
|
||||||
"rafamadriz/friendly-snippets",
|
|
||||||
config = function()
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
history = true,
|
|
||||||
delete_check_events = "TextChanged",
|
|
||||||
},
|
|
||||||
-- stylua: ignore
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<tab>",
|
|
||||||
function()
|
|
||||||
return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>"
|
|
||||||
end,
|
|
||||||
expr = true,
|
|
||||||
silent = true,
|
|
||||||
mode = "i",
|
|
||||||
},
|
|
||||||
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
|
|
||||||
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"nosduco/remote-sshfs.nvim",
|
|
||||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
|
||||||
cmd = { "RemoteSSHFSConnect" },
|
|
||||||
config = function()
|
|
||||||
require("remote-sshfs").setup({})
|
|
||||||
require("telescope").load_extension("remote-sshfs")
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"amitds1997/remote-nvim.nvim",
|
|
||||||
version = "*", -- Pin to GitHub releases
|
|
||||||
dependencies = {
|
|
||||||
"nvim-lua/plenary.nvim", -- For standard functions
|
|
||||||
"MunifTanjim/nui.nvim", -- To build the plugin UI
|
|
||||||
"nvim-telescope/telescope.nvim", -- For picking b/w different remote methods
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
remote = {
|
|
||||||
copy_dirs = {
|
|
||||||
data = {
|
|
||||||
base = vim.fn.stdpath("data"), -- Path from where data has to be copied. You can choose to copy entire path or subdirectories inside using `dirs`
|
|
||||||
dirs = { "lazy" }, -- Directories inside `base` to copy over. If this is set to string "*"; it means entire `base` should be copied over
|
|
||||||
compression = {
|
|
||||||
enabled = true, -- Should data be compressed before uploading
|
|
||||||
additional_opts = { "--exclude-vcs" }, -- Any arguments that can be passed to `tar` for compression can be specified here to improve your compression
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- cache = {
|
|
||||||
-- base = vim.fn.stdpath("cache"),
|
|
||||||
-- dirs = {},
|
|
||||||
-- compression = {
|
|
||||||
-- enabled = true,
|
|
||||||
-- },
|
|
||||||
-- },
|
|
||||||
state = {
|
|
||||||
base = vim.fn.stdpath("state"),
|
|
||||||
dirs = {},
|
|
||||||
compression = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
client_callback = function(port, workspace_config)
|
|
||||||
local cmd = ("tmux new-window 'nvim --server localhost:%s --remote-ui' && tmux select-window -t:$"):format(port)
|
|
||||||
vim.fn.jobstart(cmd, {
|
|
||||||
detach = true,
|
|
||||||
on_exit = function(job_id, exit_code, event_type)
|
|
||||||
-- This function will be called when the job exits
|
|
||||||
print("Client", job_id, "exited with code", exit_code, "Event type:", event_type)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
config = true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,171 +0,0 @@
|
||||||
local function term_get_effective_line_count(bufnr)
|
|
||||||
local linecount = vim.api.nvim_buf_line_count(bufnr)
|
|
||||||
|
|
||||||
local non_blank_lines = linecount
|
|
||||||
for i = linecount, 1, -1 do
|
|
||||||
local line = vim.api.nvim_buf_get_lines(bufnr, i - 1, i, true)[1]
|
|
||||||
non_blank_lines = i
|
|
||||||
if line ~= "" then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return non_blank_lines
|
|
||||||
end
|
|
||||||
|
|
||||||
-- This is a copy of the original util function of overseer with the change that
|
|
||||||
-- vim.api.nvim_win_set_cursor(winid, { lnum, 0 }) column is set to 0 so the output is visible
|
|
||||||
-- the rest is the same
|
|
||||||
local scroll_to_end = function(winid)
|
|
||||||
winid = winid or 0
|
|
||||||
local bufnr = vim.api.nvim_win_get_buf(winid)
|
|
||||||
local lnum = vim.api.nvim_buf_line_count(bufnr)
|
|
||||||
-- Hack: terminal buffers add a bunch of empty lines at the end. We need to ignore them so that
|
|
||||||
-- we don't end up scrolling off the end of the useful output.
|
|
||||||
local not_much_output = lnum < vim.o.lines + 6
|
|
||||||
if vim.bo[bufnr].buftype == "terminal" and not_much_output then
|
|
||||||
lnum = term_get_effective_line_count(bufnr)
|
|
||||||
end
|
|
||||||
local scrolloff = vim.api.nvim_get_option_value("scrolloff", { scope = "local", win = winid })
|
|
||||||
vim.api.nvim_set_option_value("scrolloff", 0, { scope = "local", win = winid })
|
|
||||||
vim.api.nvim_win_set_cursor(winid, { lnum, 0 })
|
|
||||||
vim.api.nvim_set_option_value("scrolloff", scrolloff, { scope = "local", win = winid })
|
|
||||||
end
|
|
||||||
|
|
||||||
local open_split = function(task, horizontal)
|
|
||||||
local original_window = vim.api.nvim_get_current_win()
|
|
||||||
if horizontal then
|
|
||||||
-- horizontal split across all vertical splits
|
|
||||||
vim.cmd([[botright split]])
|
|
||||||
else
|
|
||||||
-- vertical split across all horizontal splits
|
|
||||||
vim.cmd([[vert botright split]])
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Update tasks buffer options
|
|
||||||
vim.api.nvim_win_set_buf(0, task:get_bufnr())
|
|
||||||
vim.api.nvim_set_option_value("number", false, { scope = "local", win = 0 })
|
|
||||||
vim.api.nvim_set_option_value("relativenumber", false, { scope = "local", win = 0 })
|
|
||||||
vim.api.nvim_set_option_value("signcolumn", "no", { scope = "local", win = 0 })
|
|
||||||
scroll_to_end(0)
|
|
||||||
|
|
||||||
-- Go back to the original window
|
|
||||||
vim.api.nvim_set_current_win(original_window)
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
"stevearc/overseer.nvim",
|
|
||||||
keys = {
|
|
||||||
{ "<leader>pO", "<CMD>OverseerQuickAction hsplit<CR>", desc = "Open task in a hsplit" },
|
|
||||||
{
|
|
||||||
"<leader>pQ",
|
|
||||||
"<CMD>OverseerQuickAction close win<CR><CMD>OverseerQuickAction dispose<CR>",
|
|
||||||
desc = "Close and dispose task's windows",
|
|
||||||
},
|
|
||||||
{ "<leader>pW", "<CMD>OverseerQuickAction unwatch<CR>", desc = "Unwatch task" },
|
|
||||||
{ "<leader>pf", "<CMD>OverseerQuickAction open float<CR>", desc = "Open task in a float window" },
|
|
||||||
{ "<leader>pl", "<CMD>OverseerLoadBundle<CR>", desc = "Load tasks" },
|
|
||||||
{ "<leader>pm", "<CMD>OverseerTaskAction<CR>", desc = "Manage task" },
|
|
||||||
{ "<leader>po", "<CMD>OverseerQuickAction vsplit<CR>", desc = "Open task in a vsplit" },
|
|
||||||
{ "<leader>pp", "<CMD>OverseerRun<CR>", desc = "Run task" },
|
|
||||||
{
|
|
||||||
"<leader>pP",
|
|
||||||
function()
|
|
||||||
local overseer = require('overseer')
|
|
||||||
overseer.run_template({}, function(task)
|
|
||||||
if task then
|
|
||||||
task:add_components({ "restart_on_save" })
|
|
||||||
overseer.run_action(task, "hsplit")
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end,
|
|
||||||
desc = "Run task and watch it"
|
|
||||||
},
|
|
||||||
{ "<leader>pq", "<CMD>OverseerQuickAction close win<CR>", desc = "Close task's windows" },
|
|
||||||
{ "<leader>ps", "<CMD>OverseerSaveBundle<CR>", desc = "Save tasks" },
|
|
||||||
{ "<leader>pt", "<CMD>OverseerToggle<CR>", desc = "Toggle tasks list" },
|
|
||||||
{ "<leader>pw", "<CMD>OverseerQuickAction watch<CR>", desc = "Watch task" },
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
templates = {
|
|
||||||
"cargo",
|
|
||||||
"cargo-make",
|
|
||||||
"composer",
|
|
||||||
"deno",
|
|
||||||
"just",
|
|
||||||
"mage",
|
|
||||||
"make",
|
|
||||||
"mix",
|
|
||||||
"npm",
|
|
||||||
"rake",
|
|
||||||
"task",
|
|
||||||
"tox",
|
|
||||||
"vscode",
|
|
||||||
},
|
|
||||||
actions = {
|
|
||||||
["hsplit"] = {
|
|
||||||
desc = "open terminal in a horizontal split",
|
|
||||||
condition = function(task)
|
|
||||||
local bufnr = task:get_bufnr()
|
|
||||||
return bufnr and vim.api.nvim_buf_is_valid(bufnr)
|
|
||||||
end,
|
|
||||||
run = function(task)
|
|
||||||
open_split(task, true)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
["vsplit"] = {
|
|
||||||
desc = "open terminal in a vertical split",
|
|
||||||
condition = function(task)
|
|
||||||
local bufnr = task:get_bufnr()
|
|
||||||
return bufnr and vim.api.nvim_buf_is_valid(bufnr)
|
|
||||||
end,
|
|
||||||
run = function(task)
|
|
||||||
open_split(task, false)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
["close win"] = {
|
|
||||||
desc = "open terminal in a vertical split",
|
|
||||||
condition = function(task)
|
|
||||||
local bufnr = task:get_bufnr()
|
|
||||||
return bufnr and vim.api.nvim_buf_is_valid(bufnr)
|
|
||||||
end,
|
|
||||||
run = function(task)
|
|
||||||
local buf = task:get_bufnr()
|
|
||||||
-- iterar sobre todas las windows y ver si la window tiene attach el buf que quiero cerrar
|
|
||||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
|
||||||
if buf == vim.api.nvim_win_get_buf(win) then
|
|
||||||
vim.api.nvim_win_close(win, false)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
task_list = {
|
|
||||||
direction = "bottom",
|
|
||||||
bindings = {
|
|
||||||
["?"] = "ShowHelp",
|
|
||||||
["g?"] = "ShowHelp",
|
|
||||||
["<CR>"] = "RunAction",
|
|
||||||
["<C-e>"] = "Edit",
|
|
||||||
["o"] = "Open",
|
|
||||||
["<C-v>"] = "OpenVsplit",
|
|
||||||
["<C-s>"] = "OpenSplit",
|
|
||||||
["<C-f>"] = "OpenFloat",
|
|
||||||
["<C-q>"] = "OpenQuickFix",
|
|
||||||
["<TAB>"] = "TogglePreview",
|
|
||||||
["p"] = "TogglePreview",
|
|
||||||
["<C-l>"] = "IncreaseAllDetail",
|
|
||||||
["<C-h>"] = "DecreaseAllDetail",
|
|
||||||
["L"] = "IncreaseDetail",
|
|
||||||
["H"] = "DecreaseDetail",
|
|
||||||
["["] = "DecreaseWidth",
|
|
||||||
["]"] = "IncreaseWidth",
|
|
||||||
["{"] = "PrevTask",
|
|
||||||
["}"] = "NextTask",
|
|
||||||
["<C-u>"] = "ScrollOutputUp",
|
|
||||||
["<C-d>"] = "ScrollOutputDown",
|
|
||||||
["q"] = "Close",
|
|
||||||
["d"] = "<CMD>OverseerQuickAction dispose<CR>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,93 +0,0 @@
|
||||||
---@module 'trouble'
|
|
||||||
|
|
||||||
return {
|
|
||||||
"folke/trouble.nvim",
|
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
||||||
cmd = { "Trouble" },
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<leader>fD",
|
|
||||||
"<cmd>Trouble diagnostics open<cr>",
|
|
||||||
desc = "Find diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fd",
|
|
||||||
"<cmd>Trouble diagnostics open filter.buf=0<cr>",
|
|
||||||
desc = "Find buffer diagnostics (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>ll",
|
|
||||||
"<cmd>Trouble symbols open<cr>",
|
|
||||||
desc = "Symbols (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>li",
|
|
||||||
"<cmd>Trouble lsp open<cr>",
|
|
||||||
desc = "LSP info of node (Trouble)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fq",
|
|
||||||
"<cmd>Trouble qflist open<cr>",
|
|
||||||
desc = "Quickfix List (Trouble)",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
opts = function()
|
|
||||||
---@type trouble.Window.opts
|
|
||||||
local win_opts = {
|
|
||||||
-- size = { width = 30, height = 0.5 },
|
|
||||||
minimal = true,
|
|
||||||
border = "rounded",
|
|
||||||
position = "bottom",
|
|
||||||
}
|
|
||||||
|
|
||||||
---@type trouble.Config
|
|
||||||
return {
|
|
||||||
focus = true,
|
|
||||||
|
|
||||||
---@type trouble.Window.opts
|
|
||||||
preview = {
|
|
||||||
type = "split",
|
|
||||||
relative = "win",
|
|
||||||
position = "top",
|
|
||||||
},
|
|
||||||
|
|
||||||
---@type table<string, trouble.Action.spec|false>
|
|
||||||
keys = {
|
|
||||||
["<s-cr>"] = "jump_close",
|
|
||||||
["<cr>"] = "jump",
|
|
||||||
["<2-leftmouse>"] = "jump",
|
|
||||||
["<c-v>"] = "jump_split_close",
|
|
||||||
["<c-s>"] = "jump_vsplit_close",
|
|
||||||
["v"] = "jump_split_close",
|
|
||||||
["s"] = "jump_vsplit_close",
|
|
||||||
["<c-k>"] = "cancel", -- hack to fool myself into thinking I move to the avobe window
|
|
||||||
["a"] = function(view, ctx)
|
|
||||||
-- TODO: this is not possible until this issue is solved
|
|
||||||
-- https://github.com/neovim/neovim/issues/31206
|
|
||||||
local trouble = require("trouble")
|
|
||||||
view:action("jump_only")
|
|
||||||
|
|
||||||
vim.lsp.buf.code_action()
|
|
||||||
|
|
||||||
trouble.focus(view, ctx)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
win = win_opts,
|
|
||||||
---@type table<string, trouble.Mode>
|
|
||||||
modes = {
|
|
||||||
symbols = {
|
|
||||||
focus = true,
|
|
||||||
win = win_opts
|
|
||||||
},
|
|
||||||
lsp_references = {
|
|
||||||
focus = true,
|
|
||||||
win = win_opts
|
|
||||||
},
|
|
||||||
lsp = {
|
|
||||||
focus = true,
|
|
||||||
win = win_opts
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
return {
|
|
||||||
"pmizio/typescript-tools.nvim",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" },
|
|
||||||
opts = {
|
|
||||||
init_options = {
|
|
||||||
preferences = {
|
|
||||||
disableSuggestions = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
settings = {
|
|
||||||
-- array of strings("fix_all"|"add_missing_imports"|"remove_unused"|
|
|
||||||
-- "remove_unused_imports"|"organize_imports") -- or string "all"
|
|
||||||
-- to include all supported code actions
|
|
||||||
-- specify commands exposed as code_actions
|
|
||||||
expose_as_code_action = "all",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
local M = {}
|
|
||||||
|
|
||||||
function M.plugin_should_be_enabled()
|
|
||||||
print("Plugin should be enabled")
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
"catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" },
|
|
||||||
"comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" },
|
|
||||||
"conform.nvim": { "branch": "master", "commit": "b1a75324ddf96b7bb84963a297b1ed334db087c0" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
|
|
||||||
"fzf-lua": { "branch": "main", "commit": "6488ada2f376e47789391dc353b6d91a3f9de6f6" },
|
|
||||||
"grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" },
|
|
||||||
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
|
||||||
"mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" },
|
|
||||||
"neogen": { "branch": "main", "commit": "b2e78708876f4da507839726816010a68e33fec8" },
|
|
||||||
"nvim-lint": { "branch": "master", "commit": "93b8040115c9114dac1047311763bef275e752dc" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "ff6471d4f837354d8257dfa326b031dd8858b16e" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "9be6836ebeb88a536055bf1ce0961eef68da4bc6" },
|
|
||||||
"nvim-treesitter-context": { "branch": "master", "commit": "93b29a32d5f4be10e39226c6b796f28d68a8b483" },
|
|
||||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
|
||||||
"remote-sshfs.nvim": { "branch": "main", "commit": "1ae5784bf0729c8b03cb7fe6561508a673c9adc8" },
|
|
||||||
"render-markdown": { "branch": "main", "commit": "92256e02db70c474f97fc461b6b6bc4aff7a499a" },
|
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
|
||||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
|
||||||
"ts-node-action": { "branch": "master", "commit": "bfaa787cc85d753af3c19245b4142ed727a534b5" },
|
|
||||||
"typescript-tools.nvim": { "branch": "master", "commit": "e0887c1e336edbb01243e9f1e60d74b0bc0a2bed" },
|
|
||||||
"vim-dadbod": { "branch": "master", "commit": "9f0ca8bcef704659820a95c3bbd2c262583a66a1" },
|
|
||||||
"vim-dadbod-completion": { "branch": "master", "commit": "a8dac0b3cf6132c80dc9b18bef36d4cf7a9e1fe6" },
|
|
||||||
"vim-dadbod-ui": { "branch": "master", "commit": "685e75b34ee0e12f92ec4507ea8bb7f1aaa936e5" },
|
|
||||||
"vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" },
|
|
||||||
"yazi.nvim": { "branch": "main", "commit": "aae26f6794c2afe2054a0782fb0ff07b2cd2876c" }
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
return {
|
|
||||||
cmd = { "rust-analyzer" },
|
|
||||||
filetypes = { 'rust' },
|
|
||||||
root_markers = { "cargo.toml" },
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
|
||||||
callback = function(args)
|
|
||||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
|
||||||
|
|
||||||
if not client then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Prefer LSP folding if client supports it
|
|
||||||
if client:supports_method('textDocument/foldingRange') then
|
|
||||||
local win = vim.api.nvim_get_current_win()
|
|
||||||
vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()'
|
|
||||||
end
|
|
||||||
|
|
||||||
if client:supports_method 'textDocument/completion' then
|
|
||||||
vim.lsp.completion.enable(true, client.id, args.buf, { autotrigger = true })
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
return {
|
|
||||||
icons = {
|
|
||||||
misc = {
|
|
||||||
pint = " ",
|
|
||||||
},
|
|
||||||
dap = {
|
|
||||||
Stopped = { " ", "DiagnosticWarn", "DapStoppedLine" },
|
|
||||||
Breakpoint = " ",
|
|
||||||
BreakpointCondition = " ",
|
|
||||||
BreakpointRejected = { " ", "DiagnosticError" },
|
|
||||||
LogPoint = ".>",
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
Error = " ",
|
|
||||||
Warn = " ",
|
|
||||||
Hint = " ",
|
|
||||||
Info = " ",
|
|
||||||
},
|
|
||||||
git = {
|
|
||||||
added = " ",
|
|
||||||
modified = " ",
|
|
||||||
removed = " ",
|
|
||||||
branch = "",
|
|
||||||
},
|
|
||||||
kinds = {
|
|
||||||
Array = " ",
|
|
||||||
Boolean = " ",
|
|
||||||
Class = " ",
|
|
||||||
Color = " ",
|
|
||||||
Constant = " ",
|
|
||||||
Constructor = " ",
|
|
||||||
Copilot = " ",
|
|
||||||
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,44 +0,0 @@
|
||||||
return {
|
|
||||||
"kristijanhusak/vim-dadbod-ui",
|
|
||||||
dependencies = {
|
|
||||||
{ "tpope/vim-dadbod", lazy = true },
|
|
||||||
{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
|
|
||||||
},
|
|
||||||
cmd = {
|
|
||||||
"DBUI",
|
|
||||||
"DBUIToggle",
|
|
||||||
"DBUIAddConnection",
|
|
||||||
"DBUIFindBuffer",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<Leader>ud", "<CMD>DBUIToggle<CR>", desc = "Toggle DB UI" },
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
-- Your DBUI configuration
|
|
||||||
vim.g.db_ui_use_nerd_fonts = 1
|
|
||||||
vim.g.db_ui_force_echo_notifications = 1
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = {
|
|
||||||
"sql",
|
|
||||||
"mysql",
|
|
||||||
"plsql",
|
|
||||||
},
|
|
||||||
command = [[setlocal omnifunc=vim_dadbod_completion#omni]],
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = {
|
|
||||||
"sql",
|
|
||||||
"mysql",
|
|
||||||
"plsql",
|
|
||||||
},
|
|
||||||
callback = function()
|
|
||||||
---@diagnostic disable-next-line: missing-fields
|
|
||||||
require("cmp").setup.buffer({
|
|
||||||
sources = { { name = "vim-dadbod-completion" }, { name = "buffer" } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,121 +0,0 @@
|
||||||
return {
|
|
||||||
"stevearc/conform.nvim",
|
|
||||||
event = { "BufWritePre" },
|
|
||||||
cmd = { "ConformInfo" },
|
|
||||||
opts = {
|
|
||||||
-- See available formatters in: https://github.com/stevearc/conform.nvim#formatters
|
|
||||||
-- Formatters can be installed by mason
|
|
||||||
formatters_by_ft = {
|
|
||||||
-- Conform will run multiple formatters sequentially
|
|
||||||
-- Use a stop_after_first = true to run only the first available formatters
|
|
||||||
-- Use the "_" filetype to run formatters on filetypes that don't
|
|
||||||
-- have other formatters configured.
|
|
||||||
["_"] = { "trim_whitespace" },
|
|
||||||
blade = { "blade-formatter" },
|
|
||||||
css = { "biome" },
|
|
||||||
go = { "gofumpt", "goimports_reviser", "golines" },
|
|
||||||
html = { "djlint", "prettierd", stop_after_first = true },
|
|
||||||
htmldjango = { "djlint", stop_after_first = true },
|
|
||||||
javascript = { "biome" },
|
|
||||||
javascriptreact = { "biome" },
|
|
||||||
json = { "biome" },
|
|
||||||
jsonc = { "biome" },
|
|
||||||
lua = { "stylua" },
|
|
||||||
markdown = { "markdownlint" },
|
|
||||||
php = { "pint" },
|
|
||||||
python = { "ruff_format", "ruff_organize_imports" },
|
|
||||||
scss = { "biome", "prettierd", "prettier", stop_after_first = true },
|
|
||||||
sh = { "shfmt" },
|
|
||||||
toml = { "taplo" },
|
|
||||||
typescript = { "biome" },
|
|
||||||
typescriptreact = { "biome" },
|
|
||||||
xml = { "lemminx" },
|
|
||||||
zsh = { "shfmt" },
|
|
||||||
sql = { "sleek" }
|
|
||||||
},
|
|
||||||
formatters = {
|
|
||||||
djlint = {
|
|
||||||
prepend_args = {
|
|
||||||
"--format-css",
|
|
||||||
"--indent-css",
|
|
||||||
"2",
|
|
||||||
"--format-js",
|
|
||||||
"--indent-js",
|
|
||||||
"2",
|
|
||||||
"--indent",
|
|
||||||
"2",
|
|
||||||
"--preserve-blank-lines",
|
|
||||||
"--quiet"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
format_on_save = function(bufnr)
|
|
||||||
-- Disable with a global or buffer-local variable
|
|
||||||
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
return { timeout_ms = 2000, lsp_fallback = true }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("conform").setup(opts)
|
|
||||||
|
|
||||||
local function toggleAutoFormat()
|
|
||||||
-- to make this global, change b to g
|
|
||||||
if vim.b.disable_autoformat == nil then
|
|
||||||
vim.b.disable_autoformat = true
|
|
||||||
print("Autoformat set to: " .. tostring(not vim.b.disable_autoformat))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.b.disable_autoformat = not vim.b.disable_autoformat
|
|
||||||
print("Autoformat set to: " .. tostring(not vim.b.disable_autoformat))
|
|
||||||
end
|
|
||||||
|
|
||||||
MAP("n", "<leader>uf", toggleAutoFormat, "Toggle auto format")
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("Fmt", function(args)
|
|
||||||
local range = nil
|
|
||||||
if args.count ~= -1 then
|
|
||||||
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
|
|
||||||
range = {
|
|
||||||
start = { args.line1, 0 },
|
|
||||||
["end"] = { args.line2, end_line:len() },
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function callback(err, did_edit)
|
|
||||||
if not did_edit then
|
|
||||||
vim.notify("The file was not formatted:\n" .. tostring(err), vim.log.levels.ERROR)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if args.bang then
|
|
||||||
vim.cmd("w")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require("conform").format(
|
|
||||||
{
|
|
||||||
async = true,
|
|
||||||
lsp_format = "fallback",
|
|
||||||
range = range,
|
|
||||||
formatters = args.fargs
|
|
||||||
},
|
|
||||||
callback
|
|
||||||
)
|
|
||||||
end, {
|
|
||||||
range = true,
|
|
||||||
bang = true,
|
|
||||||
force = true,
|
|
||||||
desc = "Format the document",
|
|
||||||
nargs = '*',
|
|
||||||
-- complete = function()
|
|
||||||
-- local formatters = require('conform').formatters_by_ft
|
|
||||||
--
|
|
||||||
-- return vim.tbl_keys(formatters)
|
|
||||||
-- end
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
return {
|
|
||||||
-- Add indentation guides even on blank lines
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
main = "ibl",
|
|
||||||
opts = {
|
|
||||||
-- char = "▏",
|
|
||||||
indent = {
|
|
||||||
char = "│",
|
|
||||||
tab_char = "│",
|
|
||||||
},
|
|
||||||
scope = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
exclude = {
|
|
||||||
filetypes = {
|
|
||||||
"help",
|
|
||||||
"alpha",
|
|
||||||
"dashboard",
|
|
||||||
"neo-tree",
|
|
||||||
"Trouble",
|
|
||||||
"lazy",
|
|
||||||
"mason",
|
|
||||||
"notify",
|
|
||||||
"toggleterm",
|
|
||||||
"lazyterm",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
return {
|
|
||||||
'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically
|
|
||||||
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
|
||||||
{
|
|
||||||
"ckolkey/ts-node-action",
|
|
||||||
dependencies = { "nvim-treesitter" },
|
|
||||||
opts = {},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>ls", function() require("ts-node-action").node_action() end, desc = "Node Action" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
|
|
||||||
-- used for completion, annotations and signatures of Neovim apis
|
|
||||||
'folke/lazydev.nvim',
|
|
||||||
ft = 'lua',
|
|
||||||
opts = {
|
|
||||||
library = {
|
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
|
||||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } }
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
return {
|
|
||||||
"mfussenegger/nvim-lint",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
local lint = require("lint")
|
|
||||||
|
|
||||||
lint.linters.gitlint.stdin = true
|
|
||||||
lint.linters.gitlint.args = { "--contrib", "contrib-title-conventional-commits", "--msg-filename", "-" }
|
|
||||||
|
|
||||||
lint.linters_by_ft = {
|
|
||||||
-- astro = { "eslint_d" },
|
|
||||||
python = { "ruff" },
|
|
||||||
sh = { "shellcheck" },
|
|
||||||
NeogitCommitMessage = { "gitlint" },
|
|
||||||
gitcommit = { "gitlint" },
|
|
||||||
markdown = { "markdownlint" },
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
|
||||||
callback = function()
|
|
||||||
require("lint").try_lint()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"nosduco/remote-sshfs.nvim",
|
|
||||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
|
||||||
cmd = { "RemoteSSHFSConnect" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
event = { "BufReadPost", "BufNewFile", "BufWritePre", "VeryLazy" },
|
|
||||||
dependencies = {
|
|
||||||
{
|
|
||||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
|
||||||
opts = {
|
|
||||||
enable_autocmd = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ "nvim-treesitter/nvim-treesitter-context" },
|
|
||||||
},
|
|
||||||
build = ":TSUpdate",
|
|
||||||
opts = {
|
|
||||||
auto_install = true,
|
|
||||||
highlight = { enable = true },
|
|
||||||
indent = { enable = true },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
return {
|
|
||||||
"pmizio/typescript-tools.nvim",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" },
|
|
||||||
opts = {
|
|
||||||
init_options = {
|
|
||||||
preferences = {
|
|
||||||
disableSuggestions = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
settings = {
|
|
||||||
-- array of strings("fix_all"|"add_missing_imports"|"remove_unused"|
|
|
||||||
-- "remove_unused_imports"|"organize_imports") -- or string "all"
|
|
||||||
-- to include all supported code actions
|
|
||||||
-- specify commands exposed as code_actions
|
|
||||||
expose_as_code_action = "all",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,87 +0,0 @@
|
||||||
[GLOBAL]
|
|
||||||
<colon> : command
|
|
||||||
o : command --text='open '
|
|
||||||
yy : copy-name
|
|
||||||
ya : copy-name --abspath
|
|
||||||
yA : copy-name --abspath --primary
|
|
||||||
yY : copy-name --primary
|
|
||||||
x : delete %%
|
|
||||||
gi : enter image
|
|
||||||
gl : enter library
|
|
||||||
gm : enter manipulate
|
|
||||||
gt : enter thumbnail
|
|
||||||
f : fullscreen
|
|
||||||
G : goto -1
|
|
||||||
gg : goto 1
|
|
||||||
m : mark %%
|
|
||||||
q : quit
|
|
||||||
. : repeat-command
|
|
||||||
j : scroll down
|
|
||||||
h : scroll left
|
|
||||||
l : scroll right
|
|
||||||
k : scroll up
|
|
||||||
/ : search
|
|
||||||
? : search --reverse
|
|
||||||
N : search-next
|
|
||||||
P : search-prev
|
|
||||||
b : set statusbar.show!
|
|
||||||
tl : toggle library
|
|
||||||
tm : toggle manipulate
|
|
||||||
tt : toggle thumbnail
|
|
||||||
|
|
||||||
[IMAGE]
|
|
||||||
M : center
|
|
||||||
| : flip
|
|
||||||
_ : flip --vertical
|
|
||||||
<end> : goto -1
|
|
||||||
<home> : goto 1
|
|
||||||
<page-down> : next
|
|
||||||
n : next
|
|
||||||
<ctrl>n : next --keep-zoom
|
|
||||||
<space> : play-or-pause
|
|
||||||
<page-up> : prev
|
|
||||||
p : prev
|
|
||||||
<ctrl>p : prev --keep-zoom
|
|
||||||
> : rotate
|
|
||||||
< : rotate --counter-clockwise
|
|
||||||
W : scale --level=1
|
|
||||||
<equal> : scale --level=fit
|
|
||||||
w : scale --level=fit
|
|
||||||
E : scale --level=fit-height
|
|
||||||
e : scale --level=fit-width
|
|
||||||
J : scroll-edge down
|
|
||||||
H : scroll-edge left
|
|
||||||
L : scroll-edge right
|
|
||||||
K : scroll-edge up
|
|
||||||
sl : set slideshow.delay +0.5
|
|
||||||
sh : set slideshow.delay -0.5
|
|
||||||
ss : slideshow
|
|
||||||
+ : zoom in
|
|
||||||
- : zoom out
|
|
||||||
|
|
||||||
[LIBRARY]
|
|
||||||
go : goto 1 --open-selected
|
|
||||||
n : scroll down --open-selected
|
|
||||||
p : scroll up --open-selected
|
|
||||||
L : set library.width +0.05
|
|
||||||
H : set library.width -0.05
|
|
||||||
|
|
||||||
[THUMBNAIL]
|
|
||||||
+ : zoom in
|
|
||||||
- : zoom out
|
|
||||||
Q : mark-print && quit
|
|
||||||
|
|
||||||
[COMMAND]
|
|
||||||
<tab> : complete
|
|
||||||
<shift><tab> : complete --inverse
|
|
||||||
<ctrl>p : history next
|
|
||||||
<ctrl>n : history prev
|
|
||||||
<up> : history-substr-search next
|
|
||||||
<down> : history-substr-search prev
|
|
||||||
<escape> : leave-commandline
|
|
||||||
|
|
||||||
[MANIPULATE]
|
|
||||||
<colon> : command
|
|
||||||
f : fullscreen
|
|
||||||
b : set statusbar.show!
|
|
||||||
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
[default]
|
|
||||||
duration = "10m"
|
|
||||||
mode = "center"
|
|
||||||
sorting = "ascending"
|
|
||||||
|
|
||||||
[any]
|
|
||||||
path = "~/Pictures/Wallpapers/"
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
[[plugin.deps]]
|
|
||||||
use = "yazi-rs/plugins:full-border"
|
|
||||||
rev = "5186af7"
|
|
||||||
hash = "ae9e1d0c6bfd68cdebc98cc684c22b45"
|
|
||||||
|
|
||||||
[[plugin.deps]]
|
|
||||||
use = "GianniBYoung/rsync"
|
|
||||||
rev = "3f431aa"
|
|
||||||
hash = "1854a5a30d23e84bc8df24700f27957b"
|
|
||||||
|
|
||||||
[[plugin.deps]]
|
|
||||||
use = "Ape/simple-status"
|
|
||||||
rev = "d0da104"
|
|
||||||
hash = "68603fdd1dcaf415227e2c77a9317947"
|
|
||||||
|
|
||||||
[[plugin.deps]]
|
|
||||||
use = "yazi-rs/plugins:smart-enter"
|
|
||||||
rev = "5186af7"
|
|
||||||
hash = "aef2b1a805b80cce573bb766f1459d88"
|
|
||||||
|
|
||||||
[[flavor.deps]]
|
|
||||||
use = "yazi-rs/flavors:catppuccin-macchiato"
|
|
||||||
rev = "df95930"
|
|
||||||
hash = "c34feed32d555e79ab9a0c0a7bdda2be"
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
[flavor]
|
|
||||||
use = "catppuccin-macchiato"
|
|
||||||
|
|
@ -1,183 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"context": "Editor && (vim_mode == normal || vim_mode == visual) && !VimWaiting && !menu",
|
|
||||||
"bindings": {
|
|
||||||
// Git
|
|
||||||
|
|
||||||
// Toggle inlay hints
|
|
||||||
"space u i": "editor::ToggleInlayHints",
|
|
||||||
|
|
||||||
// NOTE: Toggle Zen mode, not fully working yet
|
|
||||||
"space u z": "workspace::ToggleZoom",
|
|
||||||
|
|
||||||
// Open recent project
|
|
||||||
"space f p": "projects::OpenRecent",
|
|
||||||
// Search word under cursor
|
|
||||||
"space f w": "pane::DeploySearch",
|
|
||||||
|
|
||||||
// Chat with AI
|
|
||||||
"space a c": "assistant::ToggleFocus",
|
|
||||||
|
|
||||||
// Go to file with `gf`
|
|
||||||
"g f": "editor::OpenExcerpts"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// move context menus with Ctrl + hjkl in completions
|
|
||||||
"context": "(vim_mode == normal || vim_mode == insert) && (showing_code_actions || showing_completions)",
|
|
||||||
"bindings": {
|
|
||||||
"ctrl-h": "editor::ContextMenuPrev",
|
|
||||||
"ctrl-j": "editor::ContextMenuNext",
|
|
||||||
"ctrl-k": "editor::ContextMenuPrev",
|
|
||||||
"ctrl-l": "editor::ContextMenuNext"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"context": "Editor && (vim_mode == normal || vim_mode == insert)",
|
|
||||||
"bindings": {
|
|
||||||
"ctrl-shift-v": "editor::Paste"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
// move context menus with Ctrl + hjkl in menus
|
|
||||||
"context": "Picker || menu",
|
|
||||||
"bindings": {
|
|
||||||
"ctrl-h": "menu::SelectPrev",
|
|
||||||
"ctrl-j": "menu::SelectNext",
|
|
||||||
"ctrl-k": "menu::SelectPrev",
|
|
||||||
"ctrl-l": "menu::SelectNext"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"context": "Editor && VimControl && !VimWaiting && !menu",
|
|
||||||
"bindings": {
|
|
||||||
"|": "pane::SplitVertical",
|
|
||||||
|
|
||||||
// Window movement bindings
|
|
||||||
// Ctrl jklk to move between panes
|
|
||||||
"ctrl-h": ["workspace::ActivatePaneInDirection", "Left"],
|
|
||||||
"ctrl-l": ["workspace::ActivatePaneInDirection", "Right"],
|
|
||||||
"ctrl-k": ["workspace::ActivatePaneInDirection", "Up"],
|
|
||||||
"ctrl-j": ["workspace::ActivatePaneInDirection", "Down"],
|
|
||||||
|
|
||||||
"space e": "pane::RevealInProjectPanel",
|
|
||||||
|
|
||||||
// +LSP
|
|
||||||
"space l a": "editor::ToggleCodeActions",
|
|
||||||
"space l r": "editor::Rename",
|
|
||||||
"g d": "editor::GoToDefinition",
|
|
||||||
"g D": "editor::GoToDefinitionSplit",
|
|
||||||
"g i": "editor::GoToImplementation",
|
|
||||||
"g I": "editor::GoToImplementationSplit",
|
|
||||||
"g t": "editor::GoToTypeDefinition",
|
|
||||||
"g T": "editor::GoToTypeDefinitionSplit",
|
|
||||||
"g r": "editor::FindAllReferences",
|
|
||||||
"space l j": "editor::GoToDiagnostic",
|
|
||||||
"space l k": "editor::GoToPrevDiagnostic",
|
|
||||||
|
|
||||||
// Symbol search
|
|
||||||
"space f o": "outline::Toggle",
|
|
||||||
"space f O": "project_symbols::Toggle",
|
|
||||||
|
|
||||||
// Diagnostic
|
|
||||||
"space f q": "diagnostics::Deploy",
|
|
||||||
|
|
||||||
// +Git
|
|
||||||
// Git prev/next hunk
|
|
||||||
"space g j": "editor::GoToHunk",
|
|
||||||
"space g k": "editor::GoToPrevHunk",
|
|
||||||
|
|
||||||
// + Buffers
|
|
||||||
// Switch between buffers
|
|
||||||
"shift-h": "pane::ActivatePrevItem",
|
|
||||||
"shift-l": "pane::ActivateNextItem",
|
|
||||||
|
|
||||||
// Close active panel
|
|
||||||
"space b c": "pane::CloseActiveItem",
|
|
||||||
"space b d": "pane::CloseActiveItem",
|
|
||||||
// Close other items
|
|
||||||
"space b o": "pane::CloseInactiveItems",
|
|
||||||
// Save file
|
|
||||||
"ctrl-s": "workspace::Save",
|
|
||||||
// File finder
|
|
||||||
"space f f": "file_finder::Toggle",
|
|
||||||
// Project search
|
|
||||||
"space f W": "pane::DeploySearch"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"context": "Editor && vim_mode == visual",
|
|
||||||
"bindings": {
|
|
||||||
"shift-j": "editor::MoveLineDown",
|
|
||||||
"shift-k": "editor::MoveLineUp"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// Empty pane, set of keybindings that are available when there is no active editor
|
|
||||||
{
|
|
||||||
"context": "(EmptyPane || SharedScreen) && vim_mode != insert",
|
|
||||||
"bindings": {
|
|
||||||
// Open file finder
|
|
||||||
"space f f": "file_finder::Toggle",
|
|
||||||
// Open recent project
|
|
||||||
"space f p": "projects::OpenRecent"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"context": "Workspace",
|
|
||||||
"bindings": {
|
|
||||||
"ctrl-t": "terminal_panel::ToggleFocus"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"context": "Terminal",
|
|
||||||
"bindings": {
|
|
||||||
"ctrl-h": ["workspace::ActivatePaneInDirection", "Left"],
|
|
||||||
"ctrl-l": ["workspace::ActivatePaneInDirection", "Right"],
|
|
||||||
"ctrl-k": ["workspace::ActivatePaneInDirection", "Up"],
|
|
||||||
"ctrl-j": ["workspace::ActivatePaneInDirection", "Down"]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// File panel (netrw)
|
|
||||||
{
|
|
||||||
"context": "ProjectPanel && not_editing",
|
|
||||||
"bindings": {
|
|
||||||
"a": "project_panel::NewFile",
|
|
||||||
"A": "project_panel::NewDirectory",
|
|
||||||
"r": "project_panel::Rename",
|
|
||||||
"d": "project_panel::Delete",
|
|
||||||
"x": "project_panel::Cut",
|
|
||||||
"c": "project_panel::Copy",
|
|
||||||
"p": "project_panel::Paste",
|
|
||||||
"y": "project_panel::CopyRelativePath",
|
|
||||||
"Y": "project_panel::CopyPath",
|
|
||||||
"o": ["project_panel::Open", "workspace::toggleLeftDock"],
|
|
||||||
// Close project panel as project file panel on the right
|
|
||||||
// Navigate between panel
|
|
||||||
"ctrl-h": ["workspace::ActivatePaneInDirection", "Left"],
|
|
||||||
"ctrl-l": ["workspace::ActivatePaneInDirection", "Right"],
|
|
||||||
"ctrl-k": ["workspace::ActivatePaneInDirection", "Up"],
|
|
||||||
"ctrl-j": ["workspace ::ActivatePaneInDirection", "Down"],
|
|
||||||
"space e": "workspace::ToggleLeftDock"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// Panel nagivation
|
|
||||||
{
|
|
||||||
"context": "Dock",
|
|
||||||
"bindings": {
|
|
||||||
"ctrl-w h": ["workspace::ActivatePaneInDirection", "Left"],
|
|
||||||
"ctrl-w l": ["workspace::ActivatePaneInDirection", "Right"],
|
|
||||||
"ctrl-w k": ["workspace::ActivatePaneInDirection", "Up"],
|
|
||||||
"ctrl-w j": ["workspace::ActivatePaneInDirection", "Down"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Subword motion is not working really nice with `ciw`, disable for now
|
|
||||||
// {
|
|
||||||
// "context": "VimControl && !menu",
|
|
||||||
// "bindings": {
|
|
||||||
// "w": "vim::NextSubwordStart",
|
|
||||||
// "b": "vim::PreviousSubwordStart",
|
|
||||||
// "e": "vim::NextSubwordEnd",
|
|
||||||
// "g e": "vim::PreviousSubwordEnd"
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
// Zed settings
|
|
||||||
//
|
|
||||||
// For information on how to configure Zed, see the Zed
|
|
||||||
// documentation: https://zed.dev/docs/configuring-zed
|
|
||||||
//
|
|
||||||
// To see all of Zed's default settings without changing your
|
|
||||||
// custom settings, run `zed: open default settings` from the
|
|
||||||
// command palette (cmd-shift-p / ctrl-shift-p)
|
|
||||||
{
|
|
||||||
"assistant": {
|
|
||||||
"default_model": {
|
|
||||||
"provider": "copilot_chat",
|
|
||||||
"model": "gpt-4o"
|
|
||||||
},
|
|
||||||
"version": "2"
|
|
||||||
},
|
|
||||||
"vim_mode": true,
|
|
||||||
"ui_font_size": 16,
|
|
||||||
"buffer_font_size": 16,
|
|
||||||
"buffer_font_family": "JetBrainsMono Nerd Font",
|
|
||||||
"cursor_blink": true,
|
|
||||||
"use_multiline_find": true,
|
|
||||||
"use_smartcase_search": true,
|
|
||||||
"relative_line_numbers": true,
|
|
||||||
"scroll_beyond_last_line": "vertical_scroll_margin",
|
|
||||||
"vertical_scroll_margin": 15,
|
|
||||||
"theme": {
|
|
||||||
"mode": "system",
|
|
||||||
"light": "One Light",
|
|
||||||
"dark": "Catppuccin Macchiato"
|
|
||||||
},
|
|
||||||
"tab_bar": {
|
|
||||||
"show": true,
|
|
||||||
"show_nav_history_buttons": false
|
|
||||||
},
|
|
||||||
"tabs": {
|
|
||||||
"file_icons": true,
|
|
||||||
"git_status": true
|
|
||||||
},
|
|
||||||
"git": {
|
|
||||||
"git_gutter": "tracked_files",
|
|
||||||
"inline_blame": {
|
|
||||||
"enabled": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"indent_guides": {
|
|
||||||
"coloring": "indent_aware"
|
|
||||||
},
|
|
||||||
"terminal": {
|
|
||||||
"copy_on_select": true,
|
|
||||||
"button": true
|
|
||||||
},
|
|
||||||
"hover_popover_enabled": true,
|
|
||||||
"inlay_hints": {
|
|
||||||
"enabled": true
|
|
||||||
},
|
|
||||||
"preview_tabs": {
|
|
||||||
"enabled": true,
|
|
||||||
"enable_preview_from_code_navigation": true,
|
|
||||||
"enable_preview_from_file_finder": false
|
|
||||||
},
|
|
||||||
"scrollbar": {
|
|
||||||
"show": "auto",
|
|
||||||
"cursors": false,
|
|
||||||
"git_diff": false,
|
|
||||||
"search_results": true,
|
|
||||||
"selected_symbol": true,
|
|
||||||
"diagnostics": true
|
|
||||||
},
|
|
||||||
"command_aliases": {
|
|
||||||
"q": "pane: close all items"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,203 +0,0 @@
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ ZSH Config │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Preoload stuff │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
|
|
||||||
# Set the directory we want to store zinit and plugins
|
|
||||||
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit"
|
|
||||||
|
|
||||||
# Auto install zinit
|
|
||||||
[ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)"
|
|
||||||
[ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
|
|
||||||
|
|
||||||
# Source/Load zinit, installation is handle by chezmoi external script
|
|
||||||
source "${ZINIT_HOME}/zinit.zsh"
|
|
||||||
|
|
||||||
# source catppuccin theme for zsh-syntax-highlighting
|
|
||||||
zinit snippet "https://raw.githubusercontent.com/catppuccin/zsh-syntax-highlighting/main/themes/catppuccin_macchiato-zsh-syntax-highlighting.zsh"
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ ZSH plugins │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
|
|
||||||
zinit light zsh-users/zsh-syntax-highlighting
|
|
||||||
zinit light zsh-users/zsh-completions
|
|
||||||
zinit light zsh-users/zsh-autosuggestions
|
|
||||||
|
|
||||||
{{ #if dotter.packages.fzf }}
|
|
||||||
zinit light Aloxaf/fzf-tab
|
|
||||||
{{ /if }}
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Oh My Zsh snippets │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
zinit ice as"completion"; zinit snippet "https://raw.githubusercontent.com/sharkdp/fd/master/contrib/completion/_fd"
|
|
||||||
zinit ice as"completion"; zinit snippet OMZP::gh
|
|
||||||
zinit ice as"completion"; zinit snippet OMZP::docker/completions/_docker
|
|
||||||
|
|
||||||
# svn is deprecated, zinit is working in replacing in favor of git: https://github.com/zdharma-continuum/zinit/issues/504
|
|
||||||
# In the meantime, this plugins will not work
|
|
||||||
# zinit ice svn; zinit snippet OMZ::plugins/aliases
|
|
||||||
# zinit ice svn; zinit snippet OMZ::plugins/rust
|
|
||||||
|
|
||||||
zinit snippet OMZP::alias-finder
|
|
||||||
zinit snippet OMZP::colored-man-pages
|
|
||||||
zinit snippet OMZP::dnf
|
|
||||||
zinit snippet OMZP::docker-compose
|
|
||||||
zinit snippet OMZP::git
|
|
||||||
zinit snippet OMZP::systemd
|
|
||||||
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Plugins options │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
zstyle ':completion:*:*:docker:*' option-stacking yes
|
|
||||||
zstyle ':completion:*:*:docker-*:*' option-stacking yes
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Load completions │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
# Custom completions
|
|
||||||
fpath+=${XDG_CONFIG_HOME:-$HOME/.config}/zsh/completions
|
|
||||||
autoload -Uz ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/completions/*
|
|
||||||
|
|
||||||
autoload -Uz compinit && compinit
|
|
||||||
zinit cdreplay -q
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Keybindings │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
bindkey -e
|
|
||||||
bindkey '^f' auto-suggest-accept
|
|
||||||
bindkey '^p' history-search-backward
|
|
||||||
bindkey '^n' history-search-forward
|
|
||||||
bindkey '^[w' kill-region
|
|
||||||
|
|
||||||
# Set VIM keybindings
|
|
||||||
bindkey -v
|
|
||||||
export KEYTIMEOUT=1
|
|
||||||
autoload -Uz edit-command-line
|
|
||||||
zle -N edit-command-line
|
|
||||||
bindkey -M vicmd V edit-command-line # Edits files in vim, hit Shift+v in normal mode
|
|
||||||
|
|
||||||
# Add vim text objects
|
|
||||||
autoload -Uz select-bracketed select-quoted
|
|
||||||
zle -N select-quoted
|
|
||||||
zle -N select-bracketed
|
|
||||||
for km in viopp visual; do
|
|
||||||
bindkey -M $km -- '-' vi-up-line-or-history
|
|
||||||
for c in {a,i}${(s..)^:-\'\"\`\|,./:;=+@}; do
|
|
||||||
bindkey -M $km $c select-quoted
|
|
||||||
done
|
|
||||||
for c in {a,i}${(s..)^:-'()[]{}<>bB'}; do
|
|
||||||
bindkey -M $km $c select-bracketed
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ History │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
HISTSIZE=5000
|
|
||||||
HISTFILE=~/.zsh_history
|
|
||||||
SAVEHIST=$HISTSIZE
|
|
||||||
HISTDUP=erase
|
|
||||||
setopt appendhistory
|
|
||||||
setopt sharehistory
|
|
||||||
setopt hist_ignore_space
|
|
||||||
setopt hist_ignore_all_dups
|
|
||||||
setopt hist_save_no_dups
|
|
||||||
setopt hist_ignore_dups
|
|
||||||
setopt hist_find_no_dups
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Completion styling │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
# case insensitive completion
|
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
|
||||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
|
||||||
|
|
||||||
{{ #if dotter.packages.fzf }}
|
|
||||||
|
|
||||||
zstyle ':completion:*' menu no
|
|
||||||
zstyle ':fzf-tab:*' show-group full
|
|
||||||
zstyle ':fzf-tab:*' continuous-trigger '/'
|
|
||||||
zstyle ':fzf-tab:*' fzf-flags --height=10% --layout=reverse --info=inline --ansi -i --preview-window=right:60%:wrap
|
|
||||||
|
|
||||||
# ── Previewers ───────────────────────────────────────────────────────
|
|
||||||
|
|
||||||
# Directories
|
|
||||||
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview \
|
|
||||||
'eza -lha --color=always --icons --git --no-permissions --tree --level 3 --group-directories-first --total-size $realpath'
|
|
||||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview \
|
|
||||||
'eza -lha --color=always --icons --git --no-permissions --tree --level 3 --group-directories-first --total-size $realpath'
|
|
||||||
|
|
||||||
# systemctl
|
|
||||||
zstyle ':fzf-tab:complete:systemctl-*:*' fzf-preview 'SYSTEMD_COLORS=1 systemctl status $word'
|
|
||||||
|
|
||||||
# git
|
|
||||||
zstyle ':fzf-tab:complete:git-(add|diff|restore):*' fzf-preview \
|
|
||||||
'git diff $word | bat -plman --color=always'
|
|
||||||
zstyle ':fzf-tab:complete:git-log:*' fzf-preview \
|
|
||||||
'git log --decorate --graph --color=always $word'
|
|
||||||
zstyle ':fzf-tab:complete:git-help:*' fzf-preview \
|
|
||||||
'git help $word | bat -plman --color=always'
|
|
||||||
zstyle ':fzf-tab:complete:git-show:*' fzf-preview \
|
|
||||||
'case "$group" in
|
|
||||||
"commit tag") git show --color=always $word ;;
|
|
||||||
*) git show --color=always $word | bat -plman --color=always ;;
|
|
||||||
esac'
|
|
||||||
zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview \
|
|
||||||
'case "$group" in
|
|
||||||
"modified file") git diff $word | bat -plman --color=always ;;
|
|
||||||
"recent commit object name") git show --color=always $word | bat -plman --color=always ;;
|
|
||||||
*) git log --decorate --graph --color=always $word ;;
|
|
||||||
esac'
|
|
||||||
|
|
||||||
# TLDR
|
|
||||||
zstyle ':fzf-tab:complete:tldr:argument-1' fzf-preview 'tldr --color always $word'
|
|
||||||
|
|
||||||
{{ /if }}
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ ZSH Options │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
setopt EXTENDED_GLOB
|
|
||||||
setopt DOT_GLOB
|
|
||||||
setopt GLOB_DOTS
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Source other files │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
|
|
||||||
{{ #if dotter.packages.fzf }}
|
|
||||||
source $HOME/.config/fzf/fzfrc
|
|
||||||
{{ /if }}
|
|
||||||
|
|
||||||
# this prevents errors and not loading some files
|
|
||||||
for file in $HOME/.config/zsh/**/*.zsh; do
|
|
||||||
source $file
|
|
||||||
done
|
|
||||||
|
|
||||||
# ╭──────────────────────────────────────────────────────────╮
|
|
||||||
# │ Init external programs │
|
|
||||||
# ╰──────────────────────────────────────────────────────────╯
|
|
||||||
|
|
||||||
{{ #if dotter.packages.fzf }}
|
|
||||||
eval "$(fzf --zsh)"
|
|
||||||
{{ /if ~}}
|
|
||||||
|
|
||||||
{{ #if (is_executable "zoxide") }}
|
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
|
||||||
{{ /if ~}}
|
|
||||||
|
|
||||||
{{ #if dotter.packages.starship }}
|
|
||||||
eval "$(starship init zsh)"
|
|
||||||
{{ /if ~}}
|
|
||||||
|
|
||||||
{{ #if (is_executable "mise") }}
|
|
||||||
eval "$(mise activate zsh)"
|
|
||||||
{{ /if ~}}
|
|
||||||
3
Hooks/containers/post_reload_daemons.sh
Executable file
3
Hooks/containers/post_reload_daemons.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
systemctl --user daemon-reload
|
||||||
|
|
@ -5,6 +5,12 @@
|
||||||
Please ensure the that git is installed and you have an ssh key registered,
|
Please ensure the that git is installed and you have an ssh key registered,
|
||||||
then execute the following command:
|
then execute the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -SsL https://git.alecodes.page/alecodes/dots/raw/branch/main/bootstrap/bootstrap.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
Optionally, manually clone the repo to `~/.config/dotfiles/` and then execute:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
||||||
|
|
||||||
|
|
|
||||||
28
bin/mb_csv.fish
Normal file
28
bin/mb_csv.fish
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
set -l artist_id $argv[1]
|
||||||
|
|
||||||
|
set -l total 999
|
||||||
|
set -l offset 0
|
||||||
|
|
||||||
|
set -l out ""
|
||||||
|
|
||||||
|
|
||||||
|
set query '.["release-groups"][] | [(.["artist-credit"] | (map(.name) | join(";") )), .title, .["first-release-date"], .["primary-type"], (.["secondary-types"] | join(";")), "https://musicbrainz.org/release-group/" + .id] | @csv'
|
||||||
|
|
||||||
|
while test $offset -lt $total;
|
||||||
|
echo "fetching offset $offset of $total"
|
||||||
|
|
||||||
|
set -l json (curl -SsL -H "Accept: application/json" "http://musicbrainz.org/ws/2/release-group?inc=artist-credits+aliases&release-group-status=website-default&artist=$artist_id&offset=$offset" | tee /tmp/foo.json)
|
||||||
|
|
||||||
|
set total (echo $json | jq -r '.["release-group-count"]')
|
||||||
|
set offset (math $offset + 25)
|
||||||
|
|
||||||
|
set -l csv (echo $json | jq -r $query | string collect -N)
|
||||||
|
|
||||||
|
set out (string collect -N $out $csv)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
echo $out | wl-copy -n
|
||||||
|
|
||||||
|
echo $out
|
||||||
29
bootstrap/bootstrap.sh
Executable file
29
bootstrap/bootstrap.sh
Executable file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eou pipefail
|
||||||
|
|
||||||
|
export ANSIBLE_STDOUT_CALLBACK=minimal
|
||||||
|
|
||||||
|
if ! command -v uv >/dev/null 2>&1; then
|
||||||
|
echo -e "Installing UV...\n"
|
||||||
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "Executing playbook...\n"
|
||||||
|
|
||||||
|
if [[ -d ~/.config/dotfiles ]]; then
|
||||||
|
pushd ~/.config/dotfiles/bootstrap/ || exit
|
||||||
|
|
||||||
|
# dotfiles are cloned, executed localy
|
||||||
|
uvx --from ansible ansible-playbook --ask-become-pass bootstrap.yaml
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# dotfiles are not cloned, executed remotly
|
||||||
|
uvx --from ansible ansible-pull --ask-become-pass --url ssh://git@git.alecodes.page:24062/alecodes/dots.git bootstrap/bootstrap.yaml
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd || exit
|
||||||
|
|
||||||
|
echo -e "Done!\n"
|
||||||
69
bootstrap/bootstrap.yaml
Normal file
69
bootstrap/bootstrap.yaml
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
- name: Bootstrap system installation
|
||||||
|
hosts: localhost
|
||||||
|
vars_files:
|
||||||
|
- ./variables.yaml
|
||||||
|
tasks:
|
||||||
|
- name: Fedora setup
|
||||||
|
when: ansible_facts['distribution'] == "Fedora"
|
||||||
|
block:
|
||||||
|
- name: Enable copr repos
|
||||||
|
become: true
|
||||||
|
loop: "{{ distros.fedora.copr }}"
|
||||||
|
community.general.copr:
|
||||||
|
state: enabled
|
||||||
|
name: "{{ item }}"
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
become: true
|
||||||
|
ansible.builtin.package:
|
||||||
|
state: present
|
||||||
|
name: "{{ distros.Global.packages }}"
|
||||||
|
|
||||||
|
- name: 'Ensure rustup is setup'
|
||||||
|
ansible.builtin.command: "{{ (ansible_facts['pkg_mgr'] in ['dnf5']) | ternary('rustup-init -y --no-modify-path', 'rustup --no-modify-path -y') }}"
|
||||||
|
args:
|
||||||
|
creates: ~/.cargo/env
|
||||||
|
|
||||||
|
- name: "Installing Cargo Binstall"
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
remote_src: true
|
||||||
|
src: https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz
|
||||||
|
dest: "{{ ansible_env.HOME }}/.cargo/bin/"
|
||||||
|
keep_newer: true
|
||||||
|
extra_opts:
|
||||||
|
- "--no-anchored"
|
||||||
|
- "cargo-binstall"
|
||||||
|
|
||||||
|
|
||||||
|
- name: 'Install cargo packages'
|
||||||
|
loop: "{{ distros[ansible_facts['distribution']].cargo }}"
|
||||||
|
register: cargo_log
|
||||||
|
notify:
|
||||||
|
- Deploy dots
|
||||||
|
- Install yazi packages
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "cargo binstall --no-confirm --locked {{ item.pkg }}"
|
||||||
|
creates: "{{ ansible_env.HOME }}/.cargo/bin/{{ item.bin }}"
|
||||||
|
|
||||||
|
- name: Generate an OpenSSH keypair
|
||||||
|
community.crypto.openssh_keypair:
|
||||||
|
path: ~/.ssh/id_ed25519
|
||||||
|
type: ed25519
|
||||||
|
|
||||||
|
- name: Clone dotfiles
|
||||||
|
ignore_errors: true
|
||||||
|
notify:
|
||||||
|
- Deploy dots
|
||||||
|
- Install yazi packages
|
||||||
|
ansible.builtin.git:
|
||||||
|
accept_newhostkey: true
|
||||||
|
repo: ssh://git@git.alecodes.page:24062/alecodes/dots.git
|
||||||
|
dest: ~/.config/dotfiles
|
||||||
|
update: true
|
||||||
|
version: main
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- name: Deploy dots
|
||||||
|
ansible.builtin.command: tuckr add *
|
||||||
|
- name: Install yazi packages
|
||||||
|
ansible.builtin.command: ya pkg install
|
||||||
72
bootstrap/pkgs_arch.txt
Normal file
72
bootstrap/pkgs_arch.txt
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
age
|
||||||
|
atuin
|
||||||
|
brave-bin
|
||||||
|
bun-bin
|
||||||
|
catppuccin-cursors-macchiato
|
||||||
|
catppuccin-gtk-theme-macchiato
|
||||||
|
catppuccin-sddm-theme-macchiato
|
||||||
|
celluloid
|
||||||
|
deno
|
||||||
|
dotter-rs-bin
|
||||||
|
dunst
|
||||||
|
eza
|
||||||
|
fish
|
||||||
|
flatpak
|
||||||
|
fzf
|
||||||
|
git
|
||||||
|
gitleaks
|
||||||
|
gnome-disk-utility
|
||||||
|
just
|
||||||
|
kitty
|
||||||
|
kvantum
|
||||||
|
kvantum-theme-catppuccin-git
|
||||||
|
lazygit
|
||||||
|
limine
|
||||||
|
limine-mkinitcpio-hook
|
||||||
|
limine-snapper-sync
|
||||||
|
lostfiles
|
||||||
|
lxappearance
|
||||||
|
ly
|
||||||
|
nautilus
|
||||||
|
nautilus-admin-gtk4
|
||||||
|
nautilus-image-converter
|
||||||
|
nautilus-open-any-terminal
|
||||||
|
neovim
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
paccache-hook
|
||||||
|
plymouth-theme-catppuccin-macchiato-git
|
||||||
|
podman
|
||||||
|
pre-commit
|
||||||
|
pwvucontrol
|
||||||
|
qt5-wayland
|
||||||
|
qt6-wayland
|
||||||
|
rofi
|
||||||
|
rofi-rbw
|
||||||
|
rofimoji
|
||||||
|
rsync
|
||||||
|
sops
|
||||||
|
swappy
|
||||||
|
tailscale
|
||||||
|
tealdeer
|
||||||
|
trash-cli
|
||||||
|
ttf-dejavu
|
||||||
|
ttf-fira-code
|
||||||
|
ttf-fira-mono
|
||||||
|
ttf-fira-sans
|
||||||
|
ttf-firacode-nerd
|
||||||
|
ttf-jetbrains-mono-nerd
|
||||||
|
ttf-ms-win11-auto
|
||||||
|
ttf-nerd-fonts-symbols-mono
|
||||||
|
ttf-nunito
|
||||||
|
ttf-opensans
|
||||||
|
ttf-roboto
|
||||||
|
ttf-roboto-mono-nerd
|
||||||
|
udiskie
|
||||||
|
vim
|
||||||
|
wget
|
||||||
|
yazi
|
||||||
|
zed
|
||||||
|
zip
|
||||||
|
zoxide
|
||||||
81
bootstrap/variables.yaml
Normal file
81
bootstrap/variables.yaml
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
distros:
|
||||||
|
Fedora:
|
||||||
|
copr:
|
||||||
|
- atim/lazygit
|
||||||
|
- the4runner/firefox-dev
|
||||||
|
packages: {}
|
||||||
|
cargo:
|
||||||
|
- pkg: yazi-fm
|
||||||
|
bin: yazi
|
||||||
|
- pkg: yazi-cli
|
||||||
|
bin: yazi
|
||||||
|
- pkg: tuckr
|
||||||
|
bin: tuckr
|
||||||
|
|
||||||
|
Arch:
|
||||||
|
packages:
|
||||||
|
- tuckr-git
|
||||||
|
cargo: {}
|
||||||
|
|
||||||
|
Global:
|
||||||
|
packages:
|
||||||
|
- adwaita-cursor-theme
|
||||||
|
- adwaita-icon-theme
|
||||||
|
- adwaita-icon-theme-legacy
|
||||||
|
- adwaita-mono-fonts
|
||||||
|
- adwaita-sans-fonts
|
||||||
|
- bat
|
||||||
|
- breeze-icon-theme
|
||||||
|
- breeze-icon-theme-fedora
|
||||||
|
- curl
|
||||||
|
- duf
|
||||||
|
- eza
|
||||||
|
- fd-find
|
||||||
|
- firefox-dev
|
||||||
|
- fish
|
||||||
|
- flatpak
|
||||||
|
- fzf
|
||||||
|
- git
|
||||||
|
- grim
|
||||||
|
- kitty
|
||||||
|
- lazygit
|
||||||
|
- neovim
|
||||||
|
- nodejs
|
||||||
|
- openssh
|
||||||
|
- openssh-askpass
|
||||||
|
- openssh-clients
|
||||||
|
- openssh-server
|
||||||
|
- openssl
|
||||||
|
- openssl-devel
|
||||||
|
- openssl-libs
|
||||||
|
- php-cli
|
||||||
|
- php-common
|
||||||
|
- php-intl
|
||||||
|
- php-mbstring
|
||||||
|
- php-pecl-zip
|
||||||
|
- php-process
|
||||||
|
- php-soap
|
||||||
|
- php-xml
|
||||||
|
- rhythmbox
|
||||||
|
- ripgrep
|
||||||
|
- rofi-themes
|
||||||
|
- rofi-wayland
|
||||||
|
- rofimoji
|
||||||
|
- rootfiles
|
||||||
|
- rsync
|
||||||
|
- rustup
|
||||||
|
- sd
|
||||||
|
- sed
|
||||||
|
- sushi
|
||||||
|
- swappy
|
||||||
|
- tailscale
|
||||||
|
- tealdeer
|
||||||
|
- trash-cli
|
||||||
|
- tree
|
||||||
|
- tree-sitter-cli
|
||||||
|
- udisks2
|
||||||
|
- unrar
|
||||||
|
- unrar-free
|
||||||
|
- unzip
|
||||||
|
- zip
|
||||||
|
- zoxide
|
||||||
277
configs/atuin/config.toml
Normal file
277
configs/atuin/config.toml
Normal file
|
|
@ -0,0 +1,277 @@
|
||||||
|
## where to store your database, default is your system data directory
|
||||||
|
## linux/mac: ~/.local/share/atuin/history.db
|
||||||
|
## windows: %USERPROFILE%/.local/share/atuin/history.db
|
||||||
|
# db_path = "~/.history.db"
|
||||||
|
|
||||||
|
## where to store your encryption key, default is your system data directory
|
||||||
|
## linux/mac: ~/.local/share/atuin/key
|
||||||
|
## windows: %USERPROFILE%/.local/share/atuin/key
|
||||||
|
# key_path = "~/.key"
|
||||||
|
|
||||||
|
## where to store your auth session token, default is your system data directory
|
||||||
|
## linux/mac: ~/.local/share/atuin/session
|
||||||
|
## windows: %USERPROFILE%/.local/share/atuin/session
|
||||||
|
# session_path = "~/.session"
|
||||||
|
|
||||||
|
## date format used, either "us" or "uk"
|
||||||
|
# dialect = "us"
|
||||||
|
|
||||||
|
## default timezone to use when displaying time
|
||||||
|
## either "l", "local" to use the system's current local timezone, or an offset
|
||||||
|
## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]"
|
||||||
|
## for example: "+9", "-05", "+03:30", "-01:23:45", etc.
|
||||||
|
# timezone = "local"
|
||||||
|
|
||||||
|
## enable or disable automatic sync
|
||||||
|
auto_sync = true
|
||||||
|
|
||||||
|
## enable or disable automatic update checks
|
||||||
|
update_check = true
|
||||||
|
|
||||||
|
## address of the sync server
|
||||||
|
sync_address = "https://atuin.alecodes.page"
|
||||||
|
|
||||||
|
## how often to sync history. note that this is only triggered when a command
|
||||||
|
## is ran, so sync intervals may well be longer
|
||||||
|
## set it to 0 to sync after every command
|
||||||
|
# sync_frequency = "10m"
|
||||||
|
|
||||||
|
## which search mode to use
|
||||||
|
## possible values: prefix, fulltext, fuzzy, skim
|
||||||
|
# search_mode = "fuzzy"
|
||||||
|
|
||||||
|
## which filter mode to use by default
|
||||||
|
## possible values: "global", "host", "session", "directory", "workspace"
|
||||||
|
## consider using search.filters to customize the enablement and order of filter modes
|
||||||
|
filter_mode = "global"
|
||||||
|
|
||||||
|
## With workspace filtering enabled, Atuin will filter for commands executed
|
||||||
|
## in any directory within a git repository tree (default: false).
|
||||||
|
##
|
||||||
|
## To use workspace mode by default when available, set this to true and
|
||||||
|
## set filter_mode to "workspace" or leave it unspecified and
|
||||||
|
## set search.filters to include "workspace" before other filter modes.
|
||||||
|
# workspaces = false
|
||||||
|
|
||||||
|
## which filter mode to use when atuin is invoked from a shell up-key binding
|
||||||
|
## the accepted values are identical to those of "filter_mode"
|
||||||
|
## leave unspecified to use same mode set in "filter_mode"
|
||||||
|
filter_mode_shell_up_key_binding = "session"
|
||||||
|
|
||||||
|
## which search mode to use when atuin is invoked from a shell up-key binding
|
||||||
|
## the accepted values are identical to those of "search_mode"
|
||||||
|
## leave unspecified to use same mode set in "search_mode"
|
||||||
|
# search_mode_shell_up_key_binding = "fuzzy"
|
||||||
|
|
||||||
|
## which style to use
|
||||||
|
## possible values: auto, full, compact
|
||||||
|
# style = "auto"
|
||||||
|
|
||||||
|
## the maximum number of lines the interface should take up
|
||||||
|
## set it to 0 to always go full screen
|
||||||
|
# inline_height = 0
|
||||||
|
|
||||||
|
## Invert the UI - put the search bar at the top , Default to `false`
|
||||||
|
# invert = false
|
||||||
|
|
||||||
|
## enable or disable showing a preview of the selected command
|
||||||
|
## useful when the command is longer than the terminal width and is cut off
|
||||||
|
# show_preview = true
|
||||||
|
|
||||||
|
## what to do when the escape key is pressed when searching
|
||||||
|
## possible values: return-original, return-query
|
||||||
|
# exit_mode = "return-original"
|
||||||
|
|
||||||
|
## possible values: emacs, subl
|
||||||
|
# word_jump_mode = "emacs"
|
||||||
|
|
||||||
|
## characters that count as a part of a word
|
||||||
|
# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||||
|
|
||||||
|
## number of context lines to show when scrolling by pages
|
||||||
|
scroll_context_lines = 3
|
||||||
|
|
||||||
|
## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts
|
||||||
|
## alt-0 .. alt-9
|
||||||
|
ctrl_n_shortcuts = false
|
||||||
|
|
||||||
|
## default history list format - can also be specified with the --format arg
|
||||||
|
# history_format = "{time}\t{command}\t{duration}"
|
||||||
|
|
||||||
|
## prevent commands matching any of these regexes from being written to history.
|
||||||
|
## Note that these regular expressions are unanchored, i.e. if they don't start
|
||||||
|
## with ^ or end with $, they'll match anywhere in the command.
|
||||||
|
## For details on the supported regular expression syntax, see
|
||||||
|
## https://docs.rs/regex/latest/regex/#syntax
|
||||||
|
# history_filter = [
|
||||||
|
# "^secret-cmd",
|
||||||
|
# "^innocuous-cmd .*--secret=.+",
|
||||||
|
# ]
|
||||||
|
|
||||||
|
## prevent commands run with cwd matching any of these regexes from being written
|
||||||
|
## to history. Note that these regular expressions are unanchored, i.e. if they don't
|
||||||
|
## start with ^ or end with $, they'll match anywhere in CWD.
|
||||||
|
## For details on the supported regular expression syntax, see
|
||||||
|
## https://docs.rs/regex/latest/regex/#syntax
|
||||||
|
# cwd_filter = [
|
||||||
|
# "^/very/secret/area",
|
||||||
|
# ]
|
||||||
|
|
||||||
|
store_failed = true
|
||||||
|
|
||||||
|
## Configure the maximum height of the preview to show.
|
||||||
|
## Useful when you have long scripts in your history that you want to distinguish
|
||||||
|
## by more than the first few lines.
|
||||||
|
# max_preview_height = 4
|
||||||
|
|
||||||
|
## Configure whether or not to show the help row, which includes the current Atuin
|
||||||
|
## version (and whether an update is available), a keymap hint, and the total
|
||||||
|
## amount of commands in your history.
|
||||||
|
# show_help = true
|
||||||
|
|
||||||
|
## Configure whether or not to show tabs for search and inspect
|
||||||
|
# show_tabs = true
|
||||||
|
|
||||||
|
## Configure whether or not the tabs row may be auto-hidden, which includes the current Atuin
|
||||||
|
## tab, such as Search or Inspector, and other tabs you may wish to see. This will
|
||||||
|
## only be hidden if there are fewer than this count of lines available, and does not affect the use
|
||||||
|
## of keyboard shortcuts to switch tab. 0 to never auto-hide, default is 8 (lines).
|
||||||
|
## This is ignored except in `compact` mode.
|
||||||
|
# auto_hide_height = 8
|
||||||
|
|
||||||
|
## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
|
||||||
|
## 1. AWS key id
|
||||||
|
## 2. Github pat (old and new)
|
||||||
|
## 3. Slack oauth tokens (bot, user)
|
||||||
|
## 4. Slack webhooks
|
||||||
|
## 5. Stripe live/test keys
|
||||||
|
# secrets_filter = true
|
||||||
|
|
||||||
|
## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit.
|
||||||
|
# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise.
|
||||||
|
enter_accept = false
|
||||||
|
|
||||||
|
## Defaults to "emacs". This specifies the keymap on the startup of `atuin
|
||||||
|
## search`. If this is set to "auto", the startup keymap mode in the Atuin
|
||||||
|
## search is automatically selected based on the shell's keymap where the
|
||||||
|
## keybinding is defined. If this is set to "emacs", "vim-insert", or
|
||||||
|
## "vim-normal", the startup keymap mode in the Atuin search is forced to be
|
||||||
|
## the specified one.
|
||||||
|
# keymap_mode = "auto"
|
||||||
|
|
||||||
|
## Cursor style in each keymap mode. If specified, the cursor style is changed
|
||||||
|
## in entering the cursor shape. Available values are "default" and
|
||||||
|
## "{blink,steady}-{block,underline,bar}".
|
||||||
|
# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" }
|
||||||
|
|
||||||
|
# network_connect_timeout = 5
|
||||||
|
# network_timeout = 5
|
||||||
|
|
||||||
|
## Timeout (in seconds) for acquiring a local database connection (sqlite)
|
||||||
|
# local_timeout = 5
|
||||||
|
|
||||||
|
## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc.
|
||||||
|
## Alternatively, set env NO_MOTION=true
|
||||||
|
# prefers_reduced_motion = false
|
||||||
|
|
||||||
|
[stats]
|
||||||
|
## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl
|
||||||
|
# common_subcommands = [
|
||||||
|
# "apt",
|
||||||
|
# "cargo",
|
||||||
|
# "composer",
|
||||||
|
# "dnf",
|
||||||
|
# "docker",
|
||||||
|
# "git",
|
||||||
|
# "go",
|
||||||
|
# "ip",
|
||||||
|
# "jj",
|
||||||
|
# "kubectl",
|
||||||
|
# "nix",
|
||||||
|
# "nmcli",
|
||||||
|
# "npm",
|
||||||
|
# "pecl",
|
||||||
|
# "pnpm",
|
||||||
|
# "podman",
|
||||||
|
# "port",
|
||||||
|
# "systemctl",
|
||||||
|
# "tmux",
|
||||||
|
# "yarn",
|
||||||
|
# ]
|
||||||
|
|
||||||
|
## Set commands that should be totally stripped and ignored from stats
|
||||||
|
# common_prefix = ["sudo"]
|
||||||
|
|
||||||
|
## Set commands that will be completely ignored from stats
|
||||||
|
# ignored_commands = [
|
||||||
|
# "cd",
|
||||||
|
# "ls",
|
||||||
|
# "vi"
|
||||||
|
# ]
|
||||||
|
|
||||||
|
[keys]
|
||||||
|
# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry.
|
||||||
|
# scroll_exits = true
|
||||||
|
# Defaults to true. The left arrow key will exit the TUI when scrolling before the first character
|
||||||
|
# exit_past_line_start = true
|
||||||
|
# Defaults to true. The right arrow key performs the same functionality as Tab and copies the selected line to the command line to be modified.
|
||||||
|
# accept_past_line_end = true
|
||||||
|
|
||||||
|
[sync]
|
||||||
|
# Enable sync v2 by default
|
||||||
|
# This ensures that sync v2 is enabled for new installs only
|
||||||
|
# In a later release it will become the default across the board
|
||||||
|
records = true
|
||||||
|
|
||||||
|
[preview]
|
||||||
|
## which preview strategy to use to calculate the preview height (respects max_preview_height).
|
||||||
|
## possible values: auto, static
|
||||||
|
## auto: length of the selected command.
|
||||||
|
## static: length of the longest command stored in the history.
|
||||||
|
## fixed: use max_preview_height as fixed height.
|
||||||
|
# strategy = "auto"
|
||||||
|
|
||||||
|
[daemon]
|
||||||
|
## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon`
|
||||||
|
# enabled = false
|
||||||
|
|
||||||
|
## How often the daemon should sync in seconds
|
||||||
|
# sync_frequency = 300
|
||||||
|
|
||||||
|
## The path to the unix socket used by the daemon (on unix systems)
|
||||||
|
## linux/mac: ~/.local/share/atuin/atuin.sock
|
||||||
|
## windows: Not Supported
|
||||||
|
# socket_path = "~/.local/share/atuin/atuin.sock"
|
||||||
|
|
||||||
|
## Use systemd socket activation rather than opening the given path (the path must still be correct for the client)
|
||||||
|
## linux: false
|
||||||
|
## mac/windows: Not Supported
|
||||||
|
# systemd_socket = false
|
||||||
|
|
||||||
|
## The port that should be used for TCP on non unix systems
|
||||||
|
# tcp_port = 8889
|
||||||
|
|
||||||
|
# [theme]
|
||||||
|
## Color theme to use for rendering in the terminal.
|
||||||
|
## There are some built-in themes, including the base theme ("default"),
|
||||||
|
## "autumn" and "marine". You can add your own themes to the "./themes" subdirectory of your
|
||||||
|
## Atuin config (or ATUIN_THEME_DIR, if provided) as TOML files whose keys should be one or
|
||||||
|
## more of AlertInfo, AlertWarn, AlertError, Annotation, Base, Guidance, Important, and
|
||||||
|
## the string values as lowercase entries from this list:
|
||||||
|
## https://ogeon.github.io/docs/palette/master/palette/named/index.html
|
||||||
|
## If you provide a custom theme file, it should be called "NAME.toml" and the theme below
|
||||||
|
## should be the stem, i.e. `theme = "NAME"` for your chosen NAME.
|
||||||
|
name = "catppuccin-macchiato-teal"
|
||||||
|
|
||||||
|
## Whether the theme manager should output normal or extra information to help fix themes.
|
||||||
|
## Boolean, true or false. If unset, left up to the theme manager.
|
||||||
|
# debug = true
|
||||||
|
|
||||||
|
[search]
|
||||||
|
## The list of enabled filter modes, in order of priority.
|
||||||
|
## The "workspace" mode is skipped when not in a workspace or workspaces = false.
|
||||||
|
## Default filter mode can be overridden with the filter_mode setting.
|
||||||
|
# filters = [ "global", "host", "session", "workspace", "directory" ]
|
||||||
|
|
||||||
|
[dotfiles]
|
||||||
|
enabled = true
|
||||||
12
configs/atuin/themes/catppuccin-macchiato-teal.toml
Normal file
12
configs/atuin/themes/catppuccin-macchiato-teal.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[theme]
|
||||||
|
name = "catppuccin-macchiato-teal"
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
AlertInfo = "#a6da95"
|
||||||
|
AlertWarn = "#f5a97f"
|
||||||
|
AlertError = "#ed8796"
|
||||||
|
Annotation = "#8bd5ca"
|
||||||
|
Base = "#cad3f5"
|
||||||
|
Guidance = "#939ab7"
|
||||||
|
Important = "#ed8796"
|
||||||
|
Title = "#8bd5ca"
|
||||||
44
configs/bash/.bash_profile
Normal file
44
configs/bash/.bash_profile
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
update_path() {
|
||||||
|
export PATH="$PATH:$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set manually
|
||||||
|
export REPOS="$HOME/.local/share/chezmoi"
|
||||||
|
export DOTS="$REPOS/Private/dots"
|
||||||
|
export EDITOR=nvim
|
||||||
|
export VISUAL="$EDITOR"
|
||||||
|
export QT_STYLE_OVERRIDE=kvantum
|
||||||
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
|
||||||
|
# Use rbw as SSH Agent
|
||||||
|
# use https://github.com/pmkap/rbw/ until https://github.com/doy/rbw/issues/197 is closed
|
||||||
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/rbw/ssh-agent-socket"
|
||||||
|
|
||||||
|
update_path "$DOTS/scripts"
|
||||||
|
update_path "$HOME/.local/bin"
|
||||||
|
update_path "$HOME/bin"
|
||||||
|
update_path "/usr/local/bin"
|
||||||
|
|
||||||
|
# Dev Stuff
|
||||||
|
export NPM_PACKAGES="$HOME/.npm-packages"
|
||||||
|
export NODE_PATH="$NPM_PACKAGES/lib/node_modules${NODE_PATH:+:$NODE_PATH}"
|
||||||
|
update_path "$NPM_PACKAGES/bin"
|
||||||
|
|
||||||
|
export PNPM_HOME="$HOME/.local/share/pnpm"
|
||||||
|
update_path "$PNPM_HOME"
|
||||||
|
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
update_path "$BUN_INSTALL/bin"
|
||||||
|
|
||||||
|
source "$HOME/.rye/env"
|
||||||
|
|
||||||
|
# . "$HOME/.cargo/env"
|
||||||
|
update_path "$HOME/.cargo/bin/"
|
||||||
|
|
||||||
|
. "$HOME/.atuin/bin/env"
|
||||||
|
|
||||||
|
if [ -f ~/.bashrc ]; then
|
||||||
|
. ~/.bashrc
|
||||||
|
fi
|
||||||
|
|
||||||
|
. "$HOME/.local/share/../bin/env"
|
||||||
8
configs/bash/.bashrc
Normal file
8
configs/bash/.bashrc
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# ╭──────────────────────────────────────────────────────────╮
|
||||||
|
# │ Auto drop into fish only on login │
|
||||||
|
# ╰──────────────────────────────────────────────────────────╯
|
||||||
|
|
||||||
|
# if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} && ${SHLVL} == 1 ]]; then
|
||||||
|
# shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=''
|
||||||
|
# exec fish $LOGIN_OPTION
|
||||||
|
# fi
|
||||||
4
configs/containers/systemd/dev-databases.pod
Normal file
4
configs/containers/systemd/dev-databases.pod
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
[Pod]
|
||||||
|
PodName=databases
|
||||||
|
PublishPort=9090:3000
|
||||||
|
PublishPort=5432:5432
|
||||||
14
configs/containers/systemd/dev-dbui.container
Normal file
14
configs/containers/systemd/dev-dbui.container
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/dbgate/dbgate
|
||||||
|
AutoUpdate=registry
|
||||||
|
Pod=dev-databases.pod
|
||||||
|
Environment=CONNECTIONS=POSTGRES
|
||||||
|
Environment=LABEL_POSTGRES="Localhost Postgres"
|
||||||
|
Environment=ENGINE_POSTGRES=postgres@dbgate-plugin-postgres
|
||||||
|
Environment=SERVER_POSTGRES=localhost
|
||||||
|
Environment=PORT_POSTGRES=5432
|
||||||
|
Environment=USER_POSTGRES=postgres
|
||||||
|
Environment=PASSWORD_POSTGRES=1234
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStartPost=/usr/bin/xdg-open http://localhost:9090
|
||||||
7
configs/containers/systemd/dev-postgres.container
Normal file
7
configs/containers/systemd/dev-postgres.container
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
[Container]
|
||||||
|
Image=docker.io/postgres:17
|
||||||
|
AutoUpdate=registry
|
||||||
|
Environment=POSTGRES_USER=postgres
|
||||||
|
Environment=POSTGRES_PASSWORD=1234
|
||||||
|
Pod=dev-databases.pod
|
||||||
|
Volume=dev-postgres-data:/var/lib/postgresql/data
|
||||||
3
configs/fish/completions/.config/fish/config.fish
Normal file
3
configs/fish/completions/.config/fish/config.fish
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
if status is-interactive
|
||||||
|
# Commands to run in interactive sessions can go here
|
||||||
|
end
|
||||||
31
configs/fish/completions/.config/fish/fish_variables
Normal file
31
configs/fish/completions/.config/fish/fish_variables
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# This file contains fish universal variable definitions.
|
||||||
|
# VERSION: 3.0
|
||||||
|
SETUVAR __fish_initialized:3800
|
||||||
|
SETUVAR fish_color_autosuggestion:brblack
|
||||||
|
SETUVAR fish_color_cancel:\x2dr
|
||||||
|
SETUVAR fish_color_command:normal
|
||||||
|
SETUVAR fish_color_comment:red
|
||||||
|
SETUVAR fish_color_cwd:green
|
||||||
|
SETUVAR fish_color_cwd_root:red
|
||||||
|
SETUVAR fish_color_end:green
|
||||||
|
SETUVAR fish_color_error:brred
|
||||||
|
SETUVAR fish_color_escape:brcyan
|
||||||
|
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||||
|
SETUVAR fish_color_host:normal
|
||||||
|
SETUVAR fish_color_host_remote:yellow
|
||||||
|
SETUVAR fish_color_normal:normal
|
||||||
|
SETUVAR fish_color_operator:brcyan
|
||||||
|
SETUVAR fish_color_param:cyan
|
||||||
|
SETUVAR fish_color_quote:yellow
|
||||||
|
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
|
||||||
|
SETUVAR fish_color_search_match:white\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
|
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||||
|
SETUVAR fish_color_status:red
|
||||||
|
SETUVAR fish_color_user:brgreen
|
||||||
|
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||||
|
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||||
|
SETUVAR fish_pager_color_completion:normal
|
||||||
|
SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||||
|
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||||
|
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||||
|
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||||
423
configs/fish/completions/atuin.fish
Normal file
423
configs/fish/completions/atuin.fish
Normal file
|
|
@ -0,0 +1,423 @@
|
||||||
|
# Print an optspec for argparse to handle cmd's options that are independent of any subcommand.
|
||||||
|
function __fish_atuin_global_optspecs
|
||||||
|
string join \n h/help V/version
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fish_atuin_needs_command
|
||||||
|
# Figure out if the current invocation already has a command.
|
||||||
|
set -l cmd (commandline -opc)
|
||||||
|
set -e cmd[1]
|
||||||
|
argparse -s (__fish_atuin_global_optspecs) -- $cmd 2>/dev/null
|
||||||
|
or return
|
||||||
|
if set -q argv[1]
|
||||||
|
# Also print the command, so this can be used to figure out what it is.
|
||||||
|
echo $argv[1]
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
function __fish_atuin_using_subcommand
|
||||||
|
set -l cmd (__fish_atuin_needs_command)
|
||||||
|
test -z "$cmd"
|
||||||
|
and return 1
|
||||||
|
contains -- $cmd[1] $argv
|
||||||
|
end
|
||||||
|
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -s V -l version -d 'Print version'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "history" -d 'Manipulate shell history'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "import" -d 'Import shell history from file'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "stats" -d 'Calculate statistics for your history'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "search" -d 'Interactive history search'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "sync" -d 'Sync with the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "login" -d 'Login to the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "logout" -d 'Log out'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "register" -d 'Register with the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "key" -d 'Print the encryption key for transfer to another machine'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "status" -d 'Display the sync status'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "account" -d 'Manage your sync account'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "kv" -d 'Get or set small key-value pairs'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "store" -d 'Manage the atuin data store'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "dotfiles" -d 'Manage your dotfiles with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "scripts" -d 'Manage your scripts with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "init" -d 'Print Atuin\'s shell init script'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "info" -d 'Information about dotfiles locations and ENV vars'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "doctor" -d 'Run the doctor to check for common issues'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "wrapped"
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "daemon" -d '*Experimental* Start the background daemon'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "default-config" -d 'Print the default atuin configuration (config.toml)'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "server" -d 'Start an atuin server'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "uuid" -d 'Generate a UUID'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "contributors"
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "gen-completions" -d 'Generate shell completions'
|
||||||
|
complete -c atuin -n "__fish_atuin_needs_command" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "start" -d 'Begins a new command in the history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "end" -d 'Finishes a new command in the history (adds time, exit code)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "list" -d 'List all items in history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "last" -d 'Get the last command ran'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "init-store"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "prune" -d 'Delete history entries matching the configured exclusion filters'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "dedup" -d 'Delete duplicate history entries (that have the same command, cwd and hostname)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and not __fish_seen_subcommand_from start end list last init-store prune dedup help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from start" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from end" -s e -l exit -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from end" -s d -l duration -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from end" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -s r -l reverse -r -f -a "true\t''
|
||||||
|
false\t''"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -l timezone -l tz -d 'Display the command time in another timezone other than the configured default' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -s f -l format -d 'Available variables: {command}, {directory}, {duration}, {user}, {host}, {exit} and {time}. Example: --format "{time} - [{duration}] - {directory}$\\t{command}"' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -s c -l cwd
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -s s -l session
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -l human
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -l cmd-only -d 'Show only the text of the command'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -l print0 -d 'Terminate the output with a null, for better multiline support'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from last" -l timezone -l tz -d 'Display the command time in another timezone other than the configured default' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from last" -s f -l format -d 'Available variables: {command}, {directory}, {duration}, {user}, {host} and {time}. Example: --format "{time} - [{duration}] - {directory}$\\t{command}"' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from last" -l human
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from last" -l cmd-only -d 'Show only the text of the command'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from last" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from init-store" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from prune" -s n -l dry-run -d 'List matching history lines without performing the actual deletion'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from prune" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from dedup" -s b -l before -d 'Only delete results added before this date' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from dedup" -l dupkeep -d 'How many recent duplicates to keep' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from dedup" -s n -l dry-run -d 'List matching history lines without performing the actual deletion'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from dedup" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "start" -d 'Begins a new command in the history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "end" -d 'Finishes a new command in the history (adds time, exit code)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "list" -d 'List all items in history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "last" -d 'Get the last command ran'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "init-store"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "prune" -d 'Delete history entries matching the configured exclusion filters'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "dedup" -d 'Delete duplicate history entries (that have the same command, cwd and hostname)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand history; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "auto" -d 'Import history for the current shell'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "zsh" -d 'Import history from the zsh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "zsh-hist-db" -d 'Import history from the zsh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "bash" -d 'Import history from the bash history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "replxx" -d 'Import history from the replxx history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "resh" -d 'Import history from the resh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "fish" -d 'Import history from the fish history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "nu" -d 'Import history from the nu history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "nu-hist-db" -d 'Import history from the nu history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "xonsh" -d 'Import history from xonsh json files'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "xonsh-sqlite" -d 'Import history from xonsh sqlite db'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and not __fish_seen_subcommand_from auto zsh zsh-hist-db bash replxx resh fish nu nu-hist-db xonsh xonsh-sqlite help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from auto" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from zsh" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from zsh-hist-db" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from bash" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from replxx" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from resh" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from fish" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from nu" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from nu-hist-db" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from xonsh" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from xonsh-sqlite" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "auto" -d 'Import history for the current shell'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "zsh" -d 'Import history from the zsh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "zsh-hist-db" -d 'Import history from the zsh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "bash" -d 'Import history from the bash history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "replxx" -d 'Import history from the replxx history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "resh" -d 'Import history from the resh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "fish" -d 'Import history from the fish history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "nu" -d 'Import history from the nu history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "nu-hist-db" -d 'Import history from the nu history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "xonsh" -d 'Import history from xonsh json files'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "xonsh-sqlite" -d 'Import history from xonsh sqlite db'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand import; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand stats" -s c -l count -d 'How many top commands to list' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand stats" -s n -l ngram-size -d 'The number of consecutive commands to consider' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand stats" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s c -l cwd -d 'Filter search result by directory' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l exclude-cwd -d 'Exclude directory from results' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s e -l exit -d 'Filter search result by exit code' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l exclude-exit -d 'Exclude results with this exit code' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s b -l before -d 'Only include results added before this date' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l after -d 'Only include results after this date' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l limit -d 'How many entries to return at most' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l offset -d 'Offset from the start of the results' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l filter-mode -d 'Allow overriding filter mode over config' -r -f -a "global\t''
|
||||||
|
host\t''
|
||||||
|
session\t''
|
||||||
|
directory\t''
|
||||||
|
workspace\t''"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l search-mode -d 'Allow overriding search mode over config' -r -f -a "prefix\t''
|
||||||
|
full-text\t''
|
||||||
|
fuzzy\t''
|
||||||
|
skim\t''"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l keymap-mode -d 'Notify the keymap at the shell\'s side' -r -f -a "emacs\t''
|
||||||
|
vim-normal\t''
|
||||||
|
vim-insert\t''
|
||||||
|
auto\t''"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l timezone -l tz -d 'Display the command time in another timezone other than the configured default' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s f -l format -d 'Available variables: {command}, {directory}, {duration}, {user}, {host}, {time}, {exit} and {relativetime}. Example: --format "{time} - [{duration}] - {directory}$\\t{command}"' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l inline-height -d 'Set the maximum number of lines Atuin\'s interface should take up' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s i -l interactive -d 'Open interactive search UI'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l shell-up-key-binding -d 'Marker argument used to inform atuin that it was invoked from a shell up-key binding (hidden from help to avoid confusion)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l human -d 'Use human-readable formatting for time'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l cmd-only -d 'Show only the text of the command'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l print0 -d 'Terminate the output with a null, for better multiline handling'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l delete -d 'Delete anything matching this query. Will not print out the match'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l delete-it-all -d 'Delete EVERYTHING!'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s r -l reverse -d 'Reverse the order of results, oldest first'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -l include-duplicates -d 'Include duplicate commands in the output (non-interactive only)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand search" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand sync" -s f -l force -d 'Force re-download everything'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand sync" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand login" -s u -l username -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand login" -s p -l password -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand login" -s k -l key -d 'The encryption key for your account' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand login" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand logout" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand register" -s u -l username -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand register" -s p -l password -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand register" -s e -l email -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand register" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand key" -l base64 -d 'Switch to base64 output of the key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand key" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand status" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "login" -d 'Login to the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "register" -d 'Register a new account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "logout" -d 'Log out'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "delete" -d 'Delete your account, and all synced data'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "change-password" -d 'Change your password'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "verify" -d 'Verify your account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and not __fish_seen_subcommand_from login register logout delete change-password verify help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from login" -s u -l username -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from login" -s p -l password -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from login" -s k -l key -d 'The encryption key for your account' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from login" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from register" -s u -l username -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from register" -s p -l password -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from register" -s e -l email -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from register" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from logout" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from delete" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from change-password" -s c -l current-password -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from change-password" -s n -l new-password -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from change-password" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from verify" -s t -l token -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from verify" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "login" -d 'Login to the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "register" -d 'Register a new account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "logout" -d 'Log out'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "delete" -d 'Delete your account, and all synced data'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "change-password" -d 'Change your password'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "verify" -d 'Verify your account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand account; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -f -a "set" -d 'Set a key-value pair'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -f -a "delete" -d 'Delete one or more key-value pairs'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -f -a "get" -d 'Retrieve a saved value'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -f -a "list" -d 'List all keys in a namespace, or in all namespaces'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -f -a "rebuild" -d 'Rebuild the KV store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and not __fish_seen_subcommand_from set delete get list rebuild help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from set" -s k -l key -d 'Key to set' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from set" -s n -l namespace -d 'Namespace for the key-value pair' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from set" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from delete" -s n -l namespace -d 'Namespace for the key-value pair' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from delete" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from get" -s n -l namespace -d 'Namespace for the key-value pair' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from get" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from list" -s n -l namespace -d 'Namespace to list keys from' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from list" -s a -l all-namespaces -d 'List all keys in all namespaces'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from rebuild" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from help" -f -a "set" -d 'Set a key-value pair'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from help" -f -a "delete" -d 'Delete one or more key-value pairs'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from help" -f -a "get" -d 'Retrieve a saved value'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from help" -f -a "list" -d 'List all keys in a namespace, or in all namespaces'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from help" -f -a "rebuild" -d 'Rebuild the KV store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand kv; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "status" -d 'Print the current status of the record store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "rebuild" -d 'Rebuild a store (eg atuin store rebuild history)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "rekey" -d 'Re-encrypt the store with a new key (potential for data loss!)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "purge" -d 'Delete all records in the store that cannot be decrypted with the current key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "verify" -d 'Verify that all records in the store can be decrypted with the current key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "push" -d 'Push all records to the remote sync server (one way sync)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "pull" -d 'Pull records from the remote sync server (one way sync)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and not __fish_seen_subcommand_from status rebuild rekey purge verify push pull help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from status" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from rebuild" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from rekey" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from purge" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from verify" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from push" -s t -l tag -d 'The tag to push (eg, \'history\'). Defaults to all tags' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from push" -l host -d 'The host to push, in the form of a UUID host ID. Defaults to the current host' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from push" -l force -d 'Force push records This will override both host and tag, to be all hosts and all tags. First clear the remote store, then upload all of the local store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from push" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from pull" -s t -l tag -d 'The tag to push (eg, \'history\'). Defaults to all tags' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from pull" -l force -d 'Force push records This will first wipe the local store, and then download all records from the remote'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from pull" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "status" -d 'Print the current status of the record store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "rebuild" -d 'Rebuild a store (eg atuin store rebuild history)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "rekey" -d 'Re-encrypt the store with a new key (potential for data loss!)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "purge" -d 'Delete all records in the store that cannot be decrypted with the current key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "verify" -d 'Verify that all records in the store can be decrypted with the current key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "push" -d 'Push all records to the remote sync server (one way sync)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "pull" -d 'Pull records from the remote sync server (one way sync)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand store; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and not __fish_seen_subcommand_from alias var help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and not __fish_seen_subcommand_from alias var help" -f -a "alias" -d 'Manage shell aliases with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and not __fish_seen_subcommand_from alias var help" -f -a "var" -d 'Manage shell and environment variables with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and not __fish_seen_subcommand_from alias var help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from alias" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from alias" -f -a "set" -d 'Set an alias'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from alias" -f -a "delete" -d 'Delete an alias'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from alias" -f -a "list" -d 'List all aliases'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from alias" -f -a "clear" -d 'Delete all aliases'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from alias" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from var" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from var" -f -a "set" -d 'Set a variable'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from var" -f -a "delete" -d 'Delete a variable'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from var" -f -a "list" -d 'List all variables'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from var" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from help" -f -a "alias" -d 'Manage shell aliases with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from help" -f -a "var" -d 'Manage shell and environment variables with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand dotfiles; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "new"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "run"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "list"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "get"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "edit"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "delete"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and not __fish_seen_subcommand_from new run list get edit delete help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -s d -l description -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -s t -l tags -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -s s -l shebang -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -l script -r -F
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -l last -d 'Use the last command as the script content Optionally specify a number to use the last N commands' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -l no-edit -d 'Skip opening editor when using --last'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from new" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from run" -s v -l var -d 'Specify template variables in the format KEY=VALUE Example: -v name=John -v greeting="Hello there"' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from run" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from list" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from get" -s s -l script -d 'Display only the executable script with shebang'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from get" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -s d -l description -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -s t -l tags -d 'Replace all existing tags with these new tags' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -l rename -d 'Rename the script' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -s s -l shebang -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -l script -r -F
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -l no-tags -d 'Remove all tags from the script'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -l no-edit -d 'Skip opening editor'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from edit" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from delete" -s f -l force
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from delete" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "new"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "run"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "list"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "get"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "edit"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "delete"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand scripts; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand init" -l disable-ctrl-r -d 'Disable the binding of CTRL-R to atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand init" -l disable-up-arrow -d 'Disable the binding of the Up Arrow key to atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand init" -s h -l help -d 'Print help (see more with \'--help\')'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand info" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand doctor" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand wrapped" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand daemon" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand default-config" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and not __fish_seen_subcommand_from start default-config help" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and not __fish_seen_subcommand_from start default-config help" -f -a "start" -d 'Start the server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and not __fish_seen_subcommand_from start default-config help" -f -a "default-config" -d 'Print server example configuration'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and not __fish_seen_subcommand_from start default-config help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from start" -l host -d 'The host address to bind' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from start" -s p -l port -d 'The port to bind' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from start" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from default-config" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from help" -f -a "start" -d 'Start the server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from help" -f -a "default-config" -d 'Print server example configuration'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand server; and __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand uuid" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand contributors" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand gen-completions" -s s -l shell -d 'Set the shell for generating completions' -r -f -a "bash\t''
|
||||||
|
elvish\t''
|
||||||
|
fish\t''
|
||||||
|
nushell\t''
|
||||||
|
powershell\t''
|
||||||
|
zsh\t''"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand gen-completions" -s o -l out-dir -d 'Set the output directory' -r
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand gen-completions" -s h -l help -d 'Print help'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "history" -d 'Manipulate shell history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "import" -d 'Import shell history from file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "stats" -d 'Calculate statistics for your history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "search" -d 'Interactive history search'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "sync" -d 'Sync with the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "login" -d 'Login to the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "logout" -d 'Log out'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "register" -d 'Register with the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "key" -d 'Print the encryption key for transfer to another machine'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "status" -d 'Display the sync status'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "account" -d 'Manage your sync account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "kv" -d 'Get or set small key-value pairs'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "store" -d 'Manage the atuin data store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "dotfiles" -d 'Manage your dotfiles with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "scripts" -d 'Manage your scripts with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "init" -d 'Print Atuin\'s shell init script'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "info" -d 'Information about dotfiles locations and ENV vars'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "doctor" -d 'Run the doctor to check for common issues'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "wrapped"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "daemon" -d '*Experimental* Start the background daemon'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "default-config" -d 'Print the default atuin configuration (config.toml)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "server" -d 'Start an atuin server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "uuid" -d 'Generate a UUID'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "contributors"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "gen-completions" -d 'Generate shell completions'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and not __fish_seen_subcommand_from history import stats search sync login logout register key status account kv store dotfiles scripts init info doctor wrapped daemon default-config server uuid contributors gen-completions help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "start" -d 'Begins a new command in the history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "end" -d 'Finishes a new command in the history (adds time, exit code)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "list" -d 'List all items in history'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "last" -d 'Get the last command ran'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "init-store"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "prune" -d 'Delete history entries matching the configured exclusion filters'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from history" -f -a "dedup" -d 'Delete duplicate history entries (that have the same command, cwd and hostname)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "auto" -d 'Import history for the current shell'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "zsh" -d 'Import history from the zsh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "zsh-hist-db" -d 'Import history from the zsh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "bash" -d 'Import history from the bash history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "replxx" -d 'Import history from the replxx history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "resh" -d 'Import history from the resh history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "fish" -d 'Import history from the fish history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "nu" -d 'Import history from the nu history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "nu-hist-db" -d 'Import history from the nu history file'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "xonsh" -d 'Import history from xonsh json files'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from import" -f -a "xonsh-sqlite" -d 'Import history from xonsh sqlite db'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from account" -f -a "login" -d 'Login to the configured server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from account" -f -a "register" -d 'Register a new account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from account" -f -a "logout" -d 'Log out'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from account" -f -a "delete" -d 'Delete your account, and all synced data'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from account" -f -a "change-password" -d 'Change your password'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from account" -f -a "verify" -d 'Verify your account'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from kv" -f -a "set" -d 'Set a key-value pair'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from kv" -f -a "delete" -d 'Delete one or more key-value pairs'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from kv" -f -a "get" -d 'Retrieve a saved value'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from kv" -f -a "list" -d 'List all keys in a namespace, or in all namespaces'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from kv" -f -a "rebuild" -d 'Rebuild the KV store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "status" -d 'Print the current status of the record store'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "rebuild" -d 'Rebuild a store (eg atuin store rebuild history)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "rekey" -d 'Re-encrypt the store with a new key (potential for data loss!)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "purge" -d 'Delete all records in the store that cannot be decrypted with the current key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "verify" -d 'Verify that all records in the store can be decrypted with the current key'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "push" -d 'Push all records to the remote sync server (one way sync)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from store" -f -a "pull" -d 'Pull records from the remote sync server (one way sync)'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from dotfiles" -f -a "alias" -d 'Manage shell aliases with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from dotfiles" -f -a "var" -d 'Manage shell and environment variables with Atuin'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from scripts" -f -a "new"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from scripts" -f -a "run"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from scripts" -f -a "list"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from scripts" -f -a "get"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from scripts" -f -a "edit"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from scripts" -f -a "delete"
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from server" -f -a "start" -d 'Start the server'
|
||||||
|
complete -c atuin -n "__fish_atuin_using_subcommand help; and __fish_seen_subcommand_from server" -f -a "default-config" -d 'Print server example configuration'
|
||||||
331
configs/fish/completions/fish-lsp.fish
Normal file
331
configs/fish/completions/fish-lsp.fish
Normal file
|
|
@ -0,0 +1,331 @@
|
||||||
|
#
|
||||||
|
# AUTO GENERATED BY 'fish-lsp'
|
||||||
|
#
|
||||||
|
# * Any command should generate the completions file
|
||||||
|
#
|
||||||
|
# >_ fish-lsp complete > ~/.config/fish/completions/fish-lsp.fish
|
||||||
|
# >_ fish-lsp complete > $fish_complete_path[1]/fish-lsp.fish
|
||||||
|
# >_ yarn install && yarn dev # from inside the '~/path/to/fish-lsp' source code
|
||||||
|
#
|
||||||
|
# * You can test the completions by editing:
|
||||||
|
#
|
||||||
|
# ~/.config/fish/completions/fish-lsp.fish
|
||||||
|
#
|
||||||
|
# or by using the command:
|
||||||
|
#
|
||||||
|
# >_ fish-lsp complete
|
||||||
|
#
|
||||||
|
# to visually check what is wrong
|
||||||
|
#
|
||||||
|
# * To interactively test the completions, you can use:
|
||||||
|
#
|
||||||
|
# >_ complete -c fish-lsp -e # erase all fish-lsp completions
|
||||||
|
# >_ fish-lsp complete | source
|
||||||
|
#
|
||||||
|
# * For more info, try editing the generated output inside:
|
||||||
|
#
|
||||||
|
# ~/...install_path.../fish-lsp/src/utils/get-lsp-completions.ts
|
||||||
|
#
|
||||||
|
# * You can see if the completions are up to date by running the command:
|
||||||
|
#
|
||||||
|
# >_ fish-lsp info --check-health
|
||||||
|
#
|
||||||
|
# REPO URL: https://github.com/ndonfris/fish-lsp
|
||||||
|
|
||||||
|
|
||||||
|
#############################################
|
||||||
|
# helper functions for fish-lsp completions #
|
||||||
|
#############################################
|
||||||
|
|
||||||
|
# print all unique `fish-lsp start --enable|--disable ...` features (i.e., complete, hover, etc.)
|
||||||
|
# if a feature is already specified in the command line, it will be skipped
|
||||||
|
# the features can also be used in the global environment variables `fish_lsp_enabled_handlers` or `fish_lsp_disabled_handlers`
|
||||||
|
function __fish_lsp_get_features -d 'print all features controlled by the server, not yet used in the commandline'
|
||||||
|
set -l all_features 'complete' 'hover' 'rename' 'definition' 'implementation' 'reference' 'formatting' 'formatRange' 'typeFormatting' 'codeAction' 'codeLens' 'folding' 'signature' 'executeCommand' 'inlayHint' 'highlight' 'diagnostic' 'popups'
|
||||||
|
set -l features_to_complete
|
||||||
|
set -l features_to_skip
|
||||||
|
set -l opts (commandline -opc)
|
||||||
|
for opt in $opts
|
||||||
|
if contains -- $opt $all_features
|
||||||
|
set features_to_skip $features_to_skip $opt
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for feature in $all_features
|
||||||
|
if not contains -- $feature $features_to_skip
|
||||||
|
printf '%b\t%s\n' $feature "$feature handler"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# print all unique 'fish-lsp env --only ...` env_variables (i.e., $fish_lsp_*, ...)
|
||||||
|
# if a env_variable is already specified in the command line, it will not be included again
|
||||||
|
function __fish_lsp_get_env_variables -d 'print all fish_lsp_* env variables, not yet used in the commandline'
|
||||||
|
# every env variable name
|
||||||
|
set -l env_names "fish_lsp_enabled_handlers" \
|
||||||
|
"fish_lsp_disabled_handlers" \
|
||||||
|
"fish_lsp_commit_characters" \
|
||||||
|
"fish_lsp_log_file" \
|
||||||
|
"fish_lsp_log_level" \
|
||||||
|
"fish_lsp_all_indexed_paths" \
|
||||||
|
"fish_lsp_modifiable_paths" \
|
||||||
|
"fish_lsp_diagnostic_disable_error_codes" \
|
||||||
|
"fish_lsp_enable_experimental_diagnostics" \
|
||||||
|
"fish_lsp_max_background_files" \
|
||||||
|
"fish_lsp_show_client_popups" \
|
||||||
|
"fish_lsp_single_workspace_support"
|
||||||
|
|
||||||
|
# every completion argument `name\t'description'`, only unused env variables will be printed
|
||||||
|
set -l env_names_with_descriptions "fish_lsp_enabled_handlers\t'server handlers to enable'" \
|
||||||
|
"fish_lsp_disabled_handlers\t'server handlers to disable'" \
|
||||||
|
"fish_lsp_commit_characters\t'commit characters that select completion items'" \
|
||||||
|
"fish_lsp_log_file\t'path to the fish-lsp's log file'" \
|
||||||
|
"fish_lsp_log_level\t'minimum log level to include in the log file'" \
|
||||||
|
"fish_lsp_all_indexed_paths\t'directories that the server should always index on startup'" \
|
||||||
|
"fish_lsp_modifiable_paths\t'indexed paths that can be modified'" \
|
||||||
|
"fish_lsp_diagnostic_disable_error_codes\t'diagnostic codes to disable'" \
|
||||||
|
"fish_lsp_enable_experimental_diagnostics\t'enable fish-lsp's experimental diagnostics'" \
|
||||||
|
"fish_lsp_max_background_files\t'maximum number of files to analyze in the background on startup'" \
|
||||||
|
"fish_lsp_show_client_popups\t'send `connection/window/*` requests in the server'" \
|
||||||
|
"fish_lsp_single_workspace_support\t'limit workspace searching to only the current workspace'"
|
||||||
|
|
||||||
|
# get the current command line token (for comma separated options)
|
||||||
|
set -l current (commandline -ct)
|
||||||
|
|
||||||
|
# utility function to check if the current token contains a comma
|
||||||
|
function has_comma --inherit-variable current --description 'check if the current token contains a comma'
|
||||||
|
string match -rq '.*,.*' -- $current || string match -rq -- '--only=.*' $current
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
||||||
|
# get the current command line options, adding the current token if it contains a comma
|
||||||
|
set -l opts (commandline -opc)
|
||||||
|
has_comma && set -a opts $current
|
||||||
|
|
||||||
|
# create two arrays, one for the env variables already used, and the other
|
||||||
|
# for all the arguments passed into the commandline
|
||||||
|
set -l features_to_skip
|
||||||
|
set -l fixed_opts
|
||||||
|
|
||||||
|
# split any comma separated options
|
||||||
|
for opt in $opts
|
||||||
|
if string match -rq -- '--only=.*' $opt
|
||||||
|
set -a fixed_opts '--only' (string split -m1 -f2 -- '--only=' $opt | string split ',')
|
||||||
|
else if string match -q '*,*' -- $opt
|
||||||
|
set fixed_opts $fixed_opts (string split ',' -- $opt)
|
||||||
|
else
|
||||||
|
set fixed_opts $fixed_opts $opt
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# skip any env variable that is already specified in the command line
|
||||||
|
for opt in $fixed_opts
|
||||||
|
if contains -- $opt $env_names
|
||||||
|
set -a features_to_skip $opt
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# if using the `--only=` syntax, remove the `--only` part.
|
||||||
|
# when entries are separated by commas, we need to keep the current token's prefix comma
|
||||||
|
# in the completion output
|
||||||
|
set prefix ''
|
||||||
|
if has_comma
|
||||||
|
set prefix (string replace -r '[^,]*$' '' -- $current | string replace -r -- '^--only=' '')
|
||||||
|
end
|
||||||
|
|
||||||
|
# print the completions that haven't been used yet
|
||||||
|
for line in $env_names_with_descriptions
|
||||||
|
set name (string split -f1 -m1 '\t' -- $line)
|
||||||
|
if not contains -- $name $features_to_skip
|
||||||
|
echo -e "$prefix$line"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# check for usage of the main switches in env command `fish-lsp env --show|--create|--show-default|--names`
|
||||||
|
#
|
||||||
|
# requires passing in one of switches: `--none` or `--any`
|
||||||
|
# - `--none` check that none of the main switches are used
|
||||||
|
# - `--any` check that a main switch has been seen
|
||||||
|
# - `--no-names` check that the `--names` switch is not used, but needs to be
|
||||||
|
# paired with `--none` or `--any`
|
||||||
|
#
|
||||||
|
# used in the `env` completions, for grouping repeated logic on those
|
||||||
|
# completions conditional checks.
|
||||||
|
#
|
||||||
|
# ```
|
||||||
|
# complete -n '__fish_lsp_env_main_switch --none'
|
||||||
|
# ```
|
||||||
|
function __fish_lsp_env_main_switch --description 'check if the commandline contains any of the main env switches (--show|--create|--show-default|--names)'
|
||||||
|
argparse any none no-names names-joined -- $argv
|
||||||
|
or return 1
|
||||||
|
|
||||||
|
# none means we don't want to see any of the main switches
|
||||||
|
# no-names doesn't change anything here, since we are making sure that
|
||||||
|
# names already doesn't exist in the command line
|
||||||
|
if set -ql _flag_none
|
||||||
|
not __fish_contains_opt names
|
||||||
|
and not __fish_contains_opt -s s show
|
||||||
|
and not __fish_contains_opt -s c create
|
||||||
|
and not __fish_contains_opt show-default
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
||||||
|
# any means that one of the main switches has been used.
|
||||||
|
if set -ql _flag_any
|
||||||
|
if set -ql _flag_no_names
|
||||||
|
__fish_contains_opt names
|
||||||
|
and return 1
|
||||||
|
end
|
||||||
|
not set -ql _flag_no_names && __fish_contains_opt names
|
||||||
|
or __fish_contains_opt -s s show
|
||||||
|
or __fish_contains_opt -s c create
|
||||||
|
or __fish_contains_opt show-default
|
||||||
|
return $status
|
||||||
|
end
|
||||||
|
|
||||||
|
# names joined means that both the --names and --joined switches are used
|
||||||
|
if set -ql _flag_names_joined
|
||||||
|
__fish_contains_opt names
|
||||||
|
and not __fish_contains_opt -s j joined
|
||||||
|
and return $status
|
||||||
|
end
|
||||||
|
# if no switches are found, return 1
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# make sure `fish-lsp start --stdio|--node-ipc|--socket` is used singularly
|
||||||
|
# and not in combination with any other connection related option
|
||||||
|
function __fish_lsp_start_connection_opts -d 'check if any option (--stdio|--node-ipc|--socket) is used'
|
||||||
|
__fish_contains_opt stdio || __fish_contains_opt node-ipc || __fish_contains_opt socket
|
||||||
|
end
|
||||||
|
|
||||||
|
# check if the last `fish-lsp start ...` flag/switch is `--enable` or `--disable`
|
||||||
|
# this will find the last `-*` argument in the command line, skipping any argument not starting with `-`
|
||||||
|
# and make sure it matches any of the provided `$argv` passed in to the function (defaulting to: `--enable` `--disable`)
|
||||||
|
# we use this to allow multiple sequential features to follow `fish-lsp start --enable|--disable ...`
|
||||||
|
# USAGE:
|
||||||
|
# > `fish-lsp --stdio --start complete hover --disable codeAction highlight formatting <TAB>`
|
||||||
|
# `__fish_lsp_last_switch --enable --disable ` would return 0 since `--disable` is the last switch
|
||||||
|
function __fish_lsp_last_switch -d 'check if the last argument w/ a leading `-` matches any $argv'
|
||||||
|
set -l opts (commandline -opc)
|
||||||
|
set -l last_opt
|
||||||
|
for opt in $opts
|
||||||
|
switch $opt
|
||||||
|
case '-*'
|
||||||
|
set last_opt $opt
|
||||||
|
case '*'
|
||||||
|
continue
|
||||||
|
end
|
||||||
|
end
|
||||||
|
set -l match_opts $argv
|
||||||
|
if test (count $argv) -eq 0
|
||||||
|
set match_opts '--enable' '--disable'
|
||||||
|
end
|
||||||
|
for switch in $match_opts
|
||||||
|
if test "$last_opt" = "$switch"
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return 1
|
||||||
|
end
|
||||||
|
|
||||||
|
###############################
|
||||||
|
### END OF HELPER FUNCTIONS ###
|
||||||
|
###############################
|
||||||
|
|
||||||
|
## disable file completions
|
||||||
|
complete -c fish-lsp -f
|
||||||
|
|
||||||
|
## fish-lsp <TAB>
|
||||||
|
complete -c fish-lsp -n "__fish_is_first_arg; and __fish_complete_subcommand" -k -a "
|
||||||
|
start\t'start the lsp'
|
||||||
|
info\t'show info about the fish-lsp'
|
||||||
|
url\t'show helpful url(s) related to the fish-lsp'
|
||||||
|
complete\t'generate fish shell completions'
|
||||||
|
env\t'generate environment variables for lsp configuration'"
|
||||||
|
|
||||||
|
## `fish-lsp -<TAB>`
|
||||||
|
complete -c fish-lsp -n 'not __fish_use_subcommand; and __fish_is_first_arg; and not __fish_contains_opt -s v version' -s v -l version -d 'Show lsp version'
|
||||||
|
complete -c fish-lsp -n 'not __fish_use_subcommand; and __fish_is_first_arg; and not __fish_contains_opt -s h help' -s h -l help -d 'Show help information'
|
||||||
|
complete -c fish-lsp -n 'not __fish_use_subcommand; and __fish_is_first_arg; and not __fish_contains_opt help-all' -l help-all -d 'Show all help information'
|
||||||
|
complete -c fish-lsp -n 'not __fish_use_subcommand; and __fish_is_first_arg; and not __fish_contains_opt help-short' -l help-short -d 'Show short help information'
|
||||||
|
complete -c fish-lsp -n 'not __fish_use_subcommand; and __fish_is_first_arg; and not __fish_contains_opt help-man' -l help-man -d 'Show raw manpage'
|
||||||
|
|
||||||
|
## `fish-lsp start --<TAB>`
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and not __fish_contains_opt dump' -l dump -d 'stop lsp & show the startup options being read'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start' -l enable -d 'enable the startup option' -xa '(__fish_lsp_get_features)'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start' -l disable -d 'disable the startup option' -xa '(__fish_lsp_get_features)'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and __fish_lsp_last_switch --disable --enable' -a '(__fish_lsp_get_features)' # allow completing multiple features in a row (when last seen switch is either: `--enable|--disable`)
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and not __fish_lsp_start_connection_opts' -l stdio -d 'use stdin/stdout for communication (default)'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and not __fish_lsp_start_connection_opts' -l node-ipc -d 'use node IPC for communication'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and not __fish_lsp_start_connection_opts' -l socket -d 'use TCP socket for communication' -x
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and not __fish_contains_opt memory-limit' -l memory-limit -d 'set memory usage limit in MB' -x
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and not __fish_contains_opt max-files' -l max-files -d 'override the maximum number of files to analyze' -xa '(echo 100; echo 500; seq 1000 500 10000)'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from start; and test (commandline -opc)[-1] = "--max-files"' -a '(echo 100; echo 500; seq 1000 500 10000)' -d 'override the maximum number of files to analyze'
|
||||||
|
|
||||||
|
## fish-lsp url --<TAB>
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt repo' -l repo -d 'show git repo url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt git' -l git -d 'show git repo url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt npm' -l npm -d 'show npmjs.com url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt homepage' -l homepage -d 'show website url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt contributing' -l contributing -d 'show git CONTRIBUTING.md url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt wiki' -l wiki -d 'show git wiki url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt issues' -l issues -d 'show git issues url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt report' -l report -d 'show git issues url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt discussions' -l discussions -d 'show git discussions url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt clients-repo' -l clients-repo -d 'show git clients-repo url'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from url; and not __fish_contains_opt sources' -l sources -d 'show useful url list of sources'
|
||||||
|
|
||||||
|
## fish-lsp complete --<TAB>
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt fish' -l fish -d 'DEFAULT BEHAVIOR: show output for completion/fish-lsp.fish'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt names' -l names -d 'show names of subcommands'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt names-with-summary' -l names-with-summary -d 'show `name\tsummary\n` of subcommands'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt features' -l features -d 'show feature/toggle names'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt toggles' -l toggles -d 'show feature/toggle names'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt env-variables' -l env-variables -d 'show env variable completions'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from complete; and not __fish_contains_opt env-variable-names' -l env-variable-names -d 'show env variable names'
|
||||||
|
|
||||||
|
## fish-lsp info --<TAB>
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt bin' -l bin -d 'show the binary path'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt repo' -l repo -d 'show the repo path'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt build-time' -l build-time -d 'show the build-time'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt lsp-version' -l lsp-version -d 'show the npm package for the lsp-version'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt capabilities' -l capabilities -d 'show the lsp capabilities implemented'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt man-file' -l man-file -d 'show man file path'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt log-file' -l log-file -d 'show log file path'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt more' -l more -d 'show more info'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt time-startup' -l time-startup -d 'show startup timing info'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from info; and not __fish_contains_opt check-health' -l check-health -d 'show the server health'
|
||||||
|
|
||||||
|
## fish-lsp env --<TAB>
|
||||||
|
# fish-lsp env <TAB>
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --none; and __fish_complete_subcommand --fcs-skip=2' -kra "
|
||||||
|
--show-default\t'show the default values for fish-lsp env variables'
|
||||||
|
-c\t'create the env variables'
|
||||||
|
--create\t'create the env variables'
|
||||||
|
-s\t'show the current fish-lsp env variables with their values'
|
||||||
|
--show\t'show the current fish-lsp env variables with their values'
|
||||||
|
--names\t'output only the names of the env variables'"
|
||||||
|
# main switches (first arguments after the `env` subcommand)
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --none' -l show-default -d 'show the default values for fish-lsp env variables' -k
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --none' -s c -l create -d 'build initial fish-lsp env variables' -k
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --none' -s s -l show -d 'show the current fish-lsp env variables' -k
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --none' -l names -d 'output only the names of the env variables' -k
|
||||||
|
# --only switch
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --any' -l only -d 'show only certain env variables' -xa '(__fish_lsp_get_env_variables)'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_last_switch --only' -xa '(__fish_lsp_get_env_variables)'
|
||||||
|
# switches usable after the main switches
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --any --no-names; and not __fish_contains_opt no-comments' -l no-comments -d 'skip outputting comments'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --any --no-names; and not __fish_contains_opt no-global' -l no-global -d 'use local exports'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --any --no-names; and not __fish_contains_opt no-local' -l no-local -d 'do not use local scope (pair with --no-global)'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --any --no-names; and not __fish_contains_opt no-export' -l no-export -d 'do not export variables'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --any --no-names; and not __fish_contains_opt confd' -l confd -d 'output for redirect to "conf.d/fish-lsp.fish"'
|
||||||
|
complete -c fish-lsp -n '__fish_seen_subcommand_from env; and __fish_lsp_env_main_switch --names-joined; and not __fish_contains_opt joined' -l joined -d 'output the names in a single line'
|
||||||
|
|
||||||
|
|
||||||
|
# built by any of the commands:
|
||||||
|
# fish-lsp complete > ~/.config/fish/completions/fish-lsp.fish
|
||||||
|
# fish-lsp complete > $fish_complete_path[1]/fish-lsp.fish
|
||||||
|
# fish-lsp complete > $__fish_config_dir/completions/fish-lsp.fish
|
||||||
7
configs/fish/completions/fisher.fish
Normal file
7
configs/fish/completions/fisher.fish
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
complete --command fisher --exclusive --long help --description "Print help"
|
||||||
|
complete --command fisher --exclusive --long version --description "Print version"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
|
||||||
|
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
|
||||||
|
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue