update neovim config AGAIN :(
This commit is contained in:
		@@ -1,19 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -euo pipefail
 | 
			
		||||
 | 
			
		||||
# 1) load your shell exports if not already present:
 | 
			
		||||
#if [[ -z "${BW_SESSION:-}" ]]; then
 | 
			
		||||
  #[[ -f "$HOME/.bashrc"   ]] && source "$HOME/.bashrc"
 | 
			
		||||
  #[[ -f "$HOME/.profile" ]] && source "$HOME/.profile"
 | 
			
		||||
#fi
 | 
			
		||||
source ~/.local/share/sunhat/defaults/bash/api_keys
 | 
			
		||||
 | 
			
		||||
# 2) if still empty, unlock once and export:
 | 
			
		||||
#if [[ -z "${BW_SESSION:-}" ]]; then
 | 
			
		||||
  #export BW_SESSION=$(bw unlock --raw)
 | 
			
		||||
#fi
 | 
			
		||||
 | 
			
		||||
# 3) fetch and print user<TAB>pass<NEWLINE>
 | 
			
		||||
printf '%s\t%s\n' \
 | 
			
		||||
printf '%s\t%s' \
 | 
			
		||||
  "$(bw --session "$BW_SESSION" get username "$1")" \
 | 
			
		||||
  "$(bw --session "$BW_SESSION" get password "$1")"
 | 
			
		||||
 
 | 
			
		||||
@@ -77,19 +77,14 @@ matches:
 | 
			
		||||
  - trigger: "nextserver"
 | 
			
		||||
    replace: "'use server';\n\nconst Page = () => {\n\n};\n\nexport { Page };"
 | 
			
		||||
 | 
			
		||||
  #- trigger: ":adm"
 | 
			
		||||
    #replace: "cog\\administrator\tInfoTech-4193\n"
 | 
			
		||||
 | 
			
		||||
  - trigger: ":adm"
 | 
			
		||||
    replace: "{{output}}"
 | 
			
		||||
  - trigger: ":]]"
 | 
			
		||||
    replace: "{{output}}\n"
 | 
			
		||||
    vars:
 | 
			
		||||
      - name: output
 | 
			
		||||
        type: shell
 | 
			
		||||
        params:
 | 
			
		||||
          cmd: "~/.config/espanso/bin/get_login be3e756a-f18d-4bff-8f87-38ced7876eee"
 | 
			
		||||
          shell: bash
 | 
			
		||||
          trim: true
 | 
			
		||||
          debug: false
 | 
			
		||||
 | 
			
		||||
  # Frequent Misspellings
 | 
			
		||||
  - trigger: "yoututbe"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,44 @@
 | 
			
		||||
{
 | 
			
		||||
    "overrides": [
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "org.gnome.Shell.Extensions",
 | 
			
		||||
            "wmTitle": "Forge Settings",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-toolbox",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-goland",
 | 
			
		||||
            "wmTitle": "splash",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-webstorm",
 | 
			
		||||
            "wmTitle": "splash",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-phpstorm",
 | 
			
		||||
            "wmTitle": "splash",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-datagrip",
 | 
			
		||||
            "wmTitle": "splash",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-rubymine",
 | 
			
		||||
            "wmTitle": "splash",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "jetbrains-idea",
 | 
			
		||||
            "wmTitle": "splash",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "Com.github.amezin.ddterm",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
@@ -24,6 +59,11 @@
 | 
			
		||||
            "wmClass": "org.gnome.Calculator",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "gnome-terminal-server",
 | 
			
		||||
            "wmTitle": "Preferences – General",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "gnome-terminal-preferences",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
@@ -37,36 +77,64 @@
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "mpv",
 | 
			
		||||
            "wmClass": "firefox",
 | 
			
		||||
            "wmTitle": "About Mozilla Firefox",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "firefox",
 | 
			
		||||
            "wmTitle": "!Mozilla Firefox",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "org.mozilla.firefox.desktop",
 | 
			
		||||
            "wmTitle": "About Mozilla Firefox",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "org.mozilla.firefox.desktop",
 | 
			
		||||
            "wmTitle": "!Mozilla Firefox",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "thunderbird",
 | 
			
		||||
            "wmTitle": "About Mozilla Thunderbird",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "thunderbird",
 | 
			
		||||
            "wmTitle": "!Mozilla Thunderbird",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "org.mozilla.Thunderbird.desktop",
 | 
			
		||||
            "wmTitle": "About Mozilla Thunderbird",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "org.mozilla.Thunderbird.desktop",
 | 
			
		||||
            "wmTitle": "!Mozilla Thunderbird",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "evolution-alarm-notify",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "variety",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "update-manager",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "Bitwarden",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "Hidamari",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "com.mattjakeman.ExtensionManager",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "Cider",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "Ulauncher",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "com.nextcloud.desktopclient.nextcloud",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            "wmClass": "Emulator",
 | 
			
		||||
            "mode": "float"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
@@ -3,9 +3,9 @@
 | 
			
		||||
 | 
			
		||||
theme = tokyonight_moon
 | 
			
		||||
font-family = "VictorMono Nerd Font Mono"
 | 
			
		||||
font-family-bold = "VictorMono Nerd Font Mono, Bold"
 | 
			
		||||
font-family-italic = "VictorMono Nerd Font Mono, Regular Italic"
 | 
			
		||||
font-family-bold-italic = "VictorMono Nerd Font Mono, Bold Italic"
 | 
			
		||||
#font-family-bold = "VictorMono Nerd Font Mono, Bold"
 | 
			
		||||
#font-family-italic = "VictorMono Nerd Font Mono, Regular Italic"
 | 
			
		||||
#font-family-bold-italic = "VictorMono Nerd Font Mono, Bold Italic"
 | 
			
		||||
font-size = 15
 | 
			
		||||
background-opacity = 0.92
 | 
			
		||||
background-blur = true
 | 
			
		||||
 
 | 
			
		||||
@@ -1,161 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
    "layer": "top", // Waybar at top layer
 | 
			
		||||
    "position": "top", // Waybar position (top|bottom|left|right)
 | 
			
		||||
    "height": 30, // Waybar height (to be removed for auto height)
 | 
			
		||||
    "width": 1900, // Waybar width
 | 
			
		||||
    "spacing": 4, // Gaps between modules (4px)
 | 
			
		||||
    // Choose the order of the modules
 | 
			
		||||
    "modules-left": ["hyprland/workspaces", "sway/mode", "sway/scratchpad", "custom/media"],
 | 
			
		||||
    "modules-center": [
 | 
			
		||||
      "hyprland/window": {
 | 
			
		||||
        "seperate-outputs": true
 | 
			
		||||
      }
 | 
			
		||||
    ],
 | 
			
		||||
    "modules-right": ["mpd", "idle_inhibitor", "pulseaudio", "network", "cpu", "memory", "temperature", "backlight", "sway/language", "battery", "battery#bat2", "clock", "tray"],
 | 
			
		||||
    // Modules configuration
 | 
			
		||||
    "hyprland/workspaces": {
 | 
			
		||||
        "all-outputs": true,
 | 
			
		||||
        "on-scroll-up": "hyprctl dispatch workspace e+1",
 | 
			
		||||
        "on-scroll-down": "hyprctl dispatch workspace e-1",
 | 
			
		||||
        "format": "{name}: {icon}",
 | 
			
		||||
        "format-icons": {
 | 
			
		||||
            "1": "",
 | 
			
		||||
            "2": "",
 | 
			
		||||
            "3": "",
 | 
			
		||||
            "4": "",
 | 
			
		||||
            "5": "",
 | 
			
		||||
            "urgent": "",
 | 
			
		||||
            "focused": "",
 | 
			
		||||
            "default": ""
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "sway/mode": {
 | 
			
		||||
        "format": "<span style=\"italic\">{}</span>"
 | 
			
		||||
    },
 | 
			
		||||
    "sway/scratchpad": {
 | 
			
		||||
        "format": "{icon} {count}",
 | 
			
		||||
        "show-empty": false,
 | 
			
		||||
        "format-icons": ["", ""],
 | 
			
		||||
        "tooltip": true,
 | 
			
		||||
        "tooltip-format": "{app}: {title}"
 | 
			
		||||
    },
 | 
			
		||||
    "mpd": {
 | 
			
		||||
        "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
 | 
			
		||||
        "format-disconnected": "Disconnected ",
 | 
			
		||||
        "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
 | 
			
		||||
        "unknown-tag": "N/A",
 | 
			
		||||
        "interval": 2,
 | 
			
		||||
        "consume-icons": {
 | 
			
		||||
            "on": " "
 | 
			
		||||
        },
 | 
			
		||||
        "random-icons": {
 | 
			
		||||
            "off": "<span color=\"#f53c3c\"></span> ",
 | 
			
		||||
            "on": " "
 | 
			
		||||
        },
 | 
			
		||||
        "repeat-icons": {
 | 
			
		||||
            "on": " "
 | 
			
		||||
        },
 | 
			
		||||
        "single-icons": {
 | 
			
		||||
            "on": "1 "
 | 
			
		||||
        },
 | 
			
		||||
        "state-icons": {
 | 
			
		||||
            "paused": "",
 | 
			
		||||
            "playing": ""
 | 
			
		||||
        },
 | 
			
		||||
        "tooltip-format": "MPD (connected)",
 | 
			
		||||
        "tooltip-format-disconnected": "MPD (disconnected)"
 | 
			
		||||
    },
 | 
			
		||||
    "idle_inhibitor": {
 | 
			
		||||
        "format": "{icon}",
 | 
			
		||||
        "format-icons": {
 | 
			
		||||
            "activated": "",
 | 
			
		||||
            "deactivated": ""
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "tray": {
 | 
			
		||||
        // "icon-size": 21,
 | 
			
		||||
        "spacing": 10
 | 
			
		||||
    },
 | 
			
		||||
    "clock": {
 | 
			
		||||
        // "timezone": "America/New_York",
 | 
			
		||||
        "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
 | 
			
		||||
        "format-alt": "{:%Y-%m-%d}"
 | 
			
		||||
    },
 | 
			
		||||
    "cpu": {
 | 
			
		||||
        "format": "{usage}% ",
 | 
			
		||||
        "tooltip": false
 | 
			
		||||
    },
 | 
			
		||||
    "memory": {
 | 
			
		||||
        "format": "{}% "
 | 
			
		||||
    },
 | 
			
		||||
    "temperature": {
 | 
			
		||||
        // "thermal-zone": 2,
 | 
			
		||||
        // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
 | 
			
		||||
        "critical-threshold": 80,
 | 
			
		||||
        // "format-critical": "{temperatureC}°C {icon}",
 | 
			
		||||
        "format": "{temperatureC}°C {icon}",
 | 
			
		||||
        "format-icons": ["", "", ""]
 | 
			
		||||
    },
 | 
			
		||||
    "backlight": {
 | 
			
		||||
        // "device": "acpi_video1",
 | 
			
		||||
        "format": "{percent}% {icon}",
 | 
			
		||||
        "format-icons": ["", "", "", "", "", "", "", "", ""]
 | 
			
		||||
    },
 | 
			
		||||
    "battery": {
 | 
			
		||||
        "states": {
 | 
			
		||||
            // "good": 95,
 | 
			
		||||
            "warning": 30,
 | 
			
		||||
            "critical": 15
 | 
			
		||||
        },
 | 
			
		||||
        "format": "{capacity}% {icon}",
 | 
			
		||||
        "format-charging": "{capacity}% ",
 | 
			
		||||
        "format-plugged": "{capacity}% ",
 | 
			
		||||
        "format-alt": "{time} {icon}",
 | 
			
		||||
        // "format-good": "", // An empty format will hide the module
 | 
			
		||||
        // "format-full": "",
 | 
			
		||||
        "format-icons": ["", "", "", "", ""]
 | 
			
		||||
    },
 | 
			
		||||
    "battery#bat2": {
 | 
			
		||||
        "bat": "BAT2"
 | 
			
		||||
    },
 | 
			
		||||
    "network": {
 | 
			
		||||
        // "interface": "wlp2*", // (Optional) To force the use of this interface
 | 
			
		||||
        "format-wifi": "{essid} ({signalStrength}%) ",
 | 
			
		||||
        "format-ethernet": "{ipaddr}/{cidr} ",
 | 
			
		||||
        "tooltip-format": "{ifname} via {gwaddr} ",
 | 
			
		||||
        "format-linked": "{ifname} (No IP) ",
 | 
			
		||||
        "format-disconnected": "Disconnected ⚠",
 | 
			
		||||
        "format-alt": "{ifname}: {ipaddr}/{cidr}"
 | 
			
		||||
    },
 | 
			
		||||
    "pulseaudio": {
 | 
			
		||||
        // "scroll-step": 1, // %, can be a float
 | 
			
		||||
        "format": "{volume}% {icon} {format_source}",
 | 
			
		||||
        "format-bluetooth": "{volume}% {icon} {format_source}",
 | 
			
		||||
        "format-bluetooth-muted": " {icon} {format_source}",
 | 
			
		||||
        "format-muted": " {format_source}",
 | 
			
		||||
        "format-source": "{volume}% ",
 | 
			
		||||
        "format-source-muted": "",
 | 
			
		||||
        "format-icons": {
 | 
			
		||||
            "headphone": "",
 | 
			
		||||
            "hands-free": "",
 | 
			
		||||
            "headset": "",
 | 
			
		||||
            "phone": "",
 | 
			
		||||
            "portable": "",
 | 
			
		||||
            "car": "",
 | 
			
		||||
            "default": ["", "", ""]
 | 
			
		||||
        },
 | 
			
		||||
        "on-click": "pavucontrol"
 | 
			
		||||
    },
 | 
			
		||||
    "custom/media": {
 | 
			
		||||
        "format": "{icon} {}",
 | 
			
		||||
        "return-type": "json",
 | 
			
		||||
        "max-length": 40,
 | 
			
		||||
        "format-icons": {
 | 
			
		||||
            "spotify": "",
 | 
			
		||||
            "default": "🎜"
 | 
			
		||||
        },
 | 
			
		||||
        "escape": true,
 | 
			
		||||
        "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
 | 
			
		||||
        // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,73 +0,0 @@
 | 
			
		||||
* {
 | 
			
		||||
    border: none;
 | 
			
		||||
    border-radius: 0;
 | 
			
		||||
    font-family: Roboto, Helvetica, Arial, sans-serif;
 | 
			
		||||
    font-size: 13px;
 | 
			
		||||
    min-height: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
window#waybar {
 | 
			
		||||
    background: rgba(43, 48, 59, 0.5);
 | 
			
		||||
    border-bottom: 3px solid rgba(100, 114, 125, 0.5);
 | 
			
		||||
    color: white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
tooltip {
 | 
			
		||||
  background: rgba(43, 48, 59, 0.5);
 | 
			
		||||
  border: 1px solid rgba(100, 114, 125, 0.5);
 | 
			
		||||
}
 | 
			
		||||
tooltip label {
 | 
			
		||||
  color: white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#workspaces button {
 | 
			
		||||
    padding: 0 5px;
 | 
			
		||||
    background: transparent;
 | 
			
		||||
    color: white;
 | 
			
		||||
    border-bottom: 3px solid transparent;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#workspaces button.focused {
 | 
			
		||||
    background: #64727D;
 | 
			
		||||
    border-bottom: 3px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#mode, #clock, #battery {
 | 
			
		||||
    padding: 0 10px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#mode {
 | 
			
		||||
    background: #64727D;
 | 
			
		||||
    border-bottom: 3px solid white;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#clock {
 | 
			
		||||
    background-color: #64727D;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#battery {
 | 
			
		||||
    background-color: #ffffff;
 | 
			
		||||
    color: black;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#battery.charging {
 | 
			
		||||
    color: white;
 | 
			
		||||
    background-color: #26A65B;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes blink {
 | 
			
		||||
    to {
 | 
			
		||||
        background-color: #ffffff;
 | 
			
		||||
        color: black;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#battery.warning:not(.charging) {
 | 
			
		||||
    background: #f53c3c;
 | 
			
		||||
    color: white;
 | 
			
		||||
    animation-name: blink;
 | 
			
		||||
    animation-duration: 0.5s;
 | 
			
		||||
    animation-timing-function: linear;
 | 
			
		||||
    animation-iteration-count: infinite;
 | 
			
		||||
    animation-direction: alternate;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								configs/dotfiles/kitty/kitty.conf
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										16
									
								
								configs/dotfiles/kitty/kitty.conf
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@@ -193,7 +193,7 @@ cursor #c8d3f5
 | 
			
		||||
#: precedence. Also, the cursor colors are modified if the cell
 | 
			
		||||
#: background and foreground colors have very low contrast.
 | 
			
		||||
 | 
			
		||||
cursor_text_color #222436
 | 
			
		||||
cursor_text_color #111325
 | 
			
		||||
 | 
			
		||||
#: The color of text under the cursor. If you want it rendered with
 | 
			
		||||
#: the background color of the cell underneath instead, use the
 | 
			
		||||
@@ -988,7 +988,7 @@ background #222436
 | 
			
		||||
 | 
			
		||||
#: The foreground and background colors.
 | 
			
		||||
 | 
			
		||||
background_opacity 0.95
 | 
			
		||||
background_opacity 0.85
 | 
			
		||||
 | 
			
		||||
#: The opacity of the background. A number between zero and one, where
 | 
			
		||||
#: one is opaque and zero is fully transparent. This will only work if
 | 
			
		||||
@@ -1023,14 +1023,14 @@ background_image_layout scaled
 | 
			
		||||
#: When background image is scaled, whether linear interpolation
 | 
			
		||||
#: should be used.
 | 
			
		||||
 | 
			
		||||
 #dynamic_background_opacity yes
 | 
			
		||||
 dynamic_background_opacity yes
 | 
			
		||||
 | 
			
		||||
#: Allow changing of the background_opacity dynamically, using either
 | 
			
		||||
#: keyboard shortcuts (increase_background_opacity and
 | 
			
		||||
#: decrease_background_opacity) or the remote control facility.
 | 
			
		||||
#: Changing this option by reloading the config is not supported.
 | 
			
		||||
 | 
			
		||||
background_tint 0.9
 | 
			
		||||
background_tint 0.6
 | 
			
		||||
 | 
			
		||||
#: How much to tint the background image by the background color.
 | 
			
		||||
#: This option makes it easier to read the text. Tinting is done using
 | 
			
		||||
@@ -1198,7 +1198,7 @@ editor /usr/bin/nvim
 | 
			
		||||
 | 
			
		||||
#: Relative paths are resolved from the kitty configuration directory.
 | 
			
		||||
 | 
			
		||||
# allow_remote_control no
 | 
			
		||||
allow_remote_control yes
 | 
			
		||||
 | 
			
		||||
#: Allow other programs to control kitty. If you turn this on, other
 | 
			
		||||
#: programs can control all aspects of kitty, including sending text
 | 
			
		||||
@@ -1225,7 +1225,7 @@ editor /usr/bin/nvim
 | 
			
		||||
#: yes
 | 
			
		||||
#:    Remote control requests are always accepted.
 | 
			
		||||
 | 
			
		||||
# listen_on none
 | 
			
		||||
listen_on unix:@mykitty
 | 
			
		||||
 | 
			
		||||
#: Listen to the specified UNIX socket for remote control connections.
 | 
			
		||||
#: Note that this will apply to all kitty instances. It can be
 | 
			
		||||
@@ -1341,7 +1341,7 @@ editor /usr/bin/nvim
 | 
			
		||||
#: special value of ask means that kitty will ask before opening the
 | 
			
		||||
#: link when clicked.
 | 
			
		||||
 | 
			
		||||
# shell_integration enabled
 | 
			
		||||
 shell_integration enabled
 | 
			
		||||
 | 
			
		||||
#: Enable shell integration on supported shells. This enables features
 | 
			
		||||
#: such as jumping to previous prompts, browsing the output of the
 | 
			
		||||
@@ -1401,7 +1401,7 @@ editor /usr/bin/nvim
 | 
			
		||||
 | 
			
		||||
#: OS specific tweaks {{{
 | 
			
		||||
 | 
			
		||||
wayland_titlebar_color #2e2f3d
 | 
			
		||||
wayland_titlebar_color #09111b
 | 
			
		||||
 | 
			
		||||
#: The color of the kitty window's titlebar on Wayland systems with
 | 
			
		||||
#: client side window decorations such as GNOME. A value of system
 | 
			
		||||
 
 | 
			
		||||
@@ -6,5 +6,8 @@
 | 
			
		||||
  ],
 | 
			
		||||
  "diagnostics.globals": ["vim"],
 | 
			
		||||
  "workspace.checkThirdParty": false,
 | 
			
		||||
  "workspace.library": [ "$VIMRUNTIME" ]
 | 
			
		||||
  "workspace.library": [ "$VIMRUNTIME" ],
 | 
			
		||||
  "workspace.maxPreload": 100000,
 | 
			
		||||
  "workspace.preloadFileSize": 10000,
 | 
			
		||||
  "telemetry.enable": false
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
require('config')
 | 
			
		||||
require'config'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										55
									
								
								configs/dotfiles/nvim/lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								configs/dotfiles/nvim/lazy-lock.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
{
 | 
			
		||||
  "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
 | 
			
		||||
  "avante.nvim": { "branch": "main", "commit": "56951378f10b25f8bb0f5bb516b8d778a1e498a7" },
 | 
			
		||||
  "barbar.nvim": { "branch": "master", "commit": "53b5a2f34b68875898f0531032fbf090e3952ad7" },
 | 
			
		||||
  "cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" },
 | 
			
		||||
  "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
 | 
			
		||||
  "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
 | 
			
		||||
  "cmp-dotenv": { "branch": "main", "commit": "4dd53aab60982f1f75848aec5e6214986263325e" },
 | 
			
		||||
  "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" },
 | 
			
		||||
  "cmp-nerdfont": { "branch": "main", "commit": "e97482344ebed29093015a18c155057adf5c842b" },
 | 
			
		||||
  "cmp-npm": { "branch": "main", "commit": "2337f109f51a09297596dd6b538b70ccba92b4e4" },
 | 
			
		||||
  "cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
 | 
			
		||||
  "cmp-nvim-lsp-document-symbol": { "branch": "main", "commit": "f94f7ba948e32cd302caba1c2ca3f7c697fb4fcf" },
 | 
			
		||||
  "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
 | 
			
		||||
  "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
 | 
			
		||||
  "cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
 | 
			
		||||
  "cmp-tw2css": { "branch": "main", "commit": "1abe0eebcb57fcbd5538d054f0db61f4e4a1302b" },
 | 
			
		||||
  "cmp_kitty": { "branch": "main", "commit": "f0d7782a525b0445499d3217f820ea43f7459e15" },
 | 
			
		||||
  "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
 | 
			
		||||
  "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
 | 
			
		||||
  "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
 | 
			
		||||
  "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
 | 
			
		||||
  "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
 | 
			
		||||
  "gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" },
 | 
			
		||||
  "image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
 | 
			
		||||
  "img-clip.nvim": { "branch": "main", "commit": "f33f3af9ba50f99d70f8fcb1a8575750ada4ea4a" },
 | 
			
		||||
  "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
 | 
			
		||||
  "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
 | 
			
		||||
  "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
 | 
			
		||||
  "mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" },
 | 
			
		||||
  "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
 | 
			
		||||
  "mcphub.nvim": { "branch": "main", "commit": "5e39057c4405bc7b83ef9fd38a37d18c9330e403" },
 | 
			
		||||
  "mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" },
 | 
			
		||||
  "neo-tree.nvim": { "branch": "v3.x", "commit": "f1deac7ecec88c28a250d890ba7bb35843e69cbd" },
 | 
			
		||||
  "nerdcommenter": { "branch": "master", "commit": "02a3b6455fa07b61b9440a78732f1e9b7876c991" },
 | 
			
		||||
  "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
 | 
			
		||||
  "nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
 | 
			
		||||
  "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
 | 
			
		||||
  "nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
 | 
			
		||||
  "nvim-lspconfig": { "branch": "master", "commit": "d89f4891f0720cd2598e4bdd60010d8784b2ac8a" },
 | 
			
		||||
  "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
 | 
			
		||||
  "nvim-treesitter-context": { "branch": "master", "commit": "41847d3dafb5004464708a3db06b14f12bde548a" },
 | 
			
		||||
  "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
 | 
			
		||||
  "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
 | 
			
		||||
  "nvim-window-picker": { "branch": "main", "commit": "6382540b2ae5de6c793d4aa2e3fe6dbb518505ec" },
 | 
			
		||||
  "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
 | 
			
		||||
  "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
 | 
			
		||||
  "render-markdown.nvim": { "branch": "main", "commit": "b4885a95e5082a6ed164830c581aac257a74f355" },
 | 
			
		||||
  "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
 | 
			
		||||
  "supermaven-nvim": { "branch": "main", "commit": "07d20fce48a5629686aefb0a7cd4b25e33947d50" },
 | 
			
		||||
  "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
 | 
			
		||||
  "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
 | 
			
		||||
  "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
 | 
			
		||||
  "undotree": { "branch": "master", "commit": "fe9a9d0645f0f5532360b5e5f5c550d7bb4f1869" }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
local augroup = vim.api.nvim_create_augroup
 | 
			
		||||
local gib_group = augroup('Gib', {})
 | 
			
		||||
local autocmd = vim.api.nvim_create_autocmd
 | 
			
		||||
local createcmd = vim.api.nvim_create_user_command
 | 
			
		||||
local yank_group = augroup('HighlightYank', {})
 | 
			
		||||
 | 
			
		||||
function R(name)
 | 
			
		||||
@@ -34,8 +33,8 @@ autocmd('LspAttach', {
 | 
			
		||||
    group = gib_group,
 | 
			
		||||
    callback = function(e)
 | 
			
		||||
        local opts = { buffer = e.buf }
 | 
			
		||||
        vim.keymap.set('n', '<leader>kf', vim.lsp.buf.format)
 | 
			
		||||
        vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
 | 
			
		||||
        vim.keymap.set('n', '<leader>kf', function() vim.lsp.buf.format() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>gd", function() vim.lsp.buf.definition() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>kw", function() vim.lsp.buf.workspace_symbol() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>kd", function() vim.diagnostic.open_float() end, opts)
 | 
			
		||||
        vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
 | 
			
		||||
@@ -44,18 +43,3 @@ autocmd('LspAttach', {
 | 
			
		||||
        vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
 | 
			
		||||
    end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
createcmd("Format", function(args)
 | 
			
		||||
  local range
 | 
			
		||||
  if args.count ~= -1 then
 | 
			
		||||
    local start_line = vim.fn.line("'<")
 | 
			
		||||
    local end_line = vim.fn.line("'>")
 | 
			
		||||
   range = { start = { start_line, 0 }, ["end"] = { end_line, 0 } }
 | 
			
		||||
  end
 | 
			
		||||
  require("conform").format({
 | 
			
		||||
    async = true,
 | 
			
		||||
    lsp_fallback = true, -- if no external formatter, use LSP
 | 
			
		||||
    range = range,
 | 
			
		||||
  })
 | 
			
		||||
end, { range = true, desc = "Format current buffer or range" })
 | 
			
		||||
vim.keymap.set({ "n", "v" }, "<leader>fk", ":Format<CR>", { silent = true, desc = "Format" })
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
require('config.options')
 | 
			
		||||
require('config.keymaps')
 | 
			
		||||
require('plugins')
 | 
			
		||||
require('config.autocmd')
 | 
			
		||||
require'config.options'
 | 
			
		||||
require'config.keymaps'
 | 
			
		||||
require'config.lazy'
 | 
			
		||||
require'config.autocmd'
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
vim.g.mapleader = ' '
 | 
			
		||||
vim.g.maplocalleader = "\\"
 | 
			
		||||
vim.keymap.set('n', '<leader><leader>s', ':update<CR> :source<CR>')
 | 
			
		||||
vim.keymap.set('n', '<leader><leader>x', ':!chmod +x %<CR>', { silent = true })
 | 
			
		||||
vim.keymap.set({'n', 'v', 'x'}, '<leader>h', '<C-w>h')
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								configs/dotfiles/nvim/lua/config/lazy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								configs/dotfiles/nvim/lua/config/lazy.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
require'lazy'.setup({
 | 
			
		||||
  spec = { { import = 'plugins' } },
 | 
			
		||||
  install = { colorscheme = { 'tokyonight-moon' } },
 | 
			
		||||
  checker = { enabled = true },
 | 
			
		||||
})
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
vim.o.number = true
 | 
			
		||||
vim.o.relativenumber = true
 | 
			
		||||
vim.o.winborder = 'rounded'
 | 
			
		||||
--vim.o.winborder = 'rounded'
 | 
			
		||||
vim.o.tabstop = 2
 | 
			
		||||
vim.o.softtabstop = 2
 | 
			
		||||
vim.o.shiftwidth = 2
 | 
			
		||||
 
 | 
			
		||||
@@ -1,220 +1,241 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/yetone/avante.nvim' },
 | 
			
		||||
  { src = 'https://github.com/nvim-lua/plenary.nvim' },
 | 
			
		||||
  { src = 'https://github.com/MunifTanjim/nui.nvim' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/nvim-cmp' },
 | 
			
		||||
  { src = 'https://github.com/nvim-treesitter/nvim-treesitter' },
 | 
			
		||||
  { src = 'https://github.com/stevearc/dressing.nvim' },
 | 
			
		||||
  { src = 'https://github.com/nvim-tree/nvim-web-devicons' },
 | 
			
		||||
  { src = 'https://github.com/HakonHarnes/img-clip.nvim' },
 | 
			
		||||
  { src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
 | 
			
		||||
  { src = 'https://github.com/ravitemer/mcphub.nvim' },
 | 
			
		||||
})
 | 
			
		||||
require'avante'.setup({
 | 
			
		||||
  provider = 'openai',
 | 
			
		||||
  auto_suggestions_provider = 'openai',
 | 
			
		||||
  providers = {
 | 
			
		||||
    claude = {
 | 
			
		||||
      endpoint = 'https://api.anthropic.com',
 | 
			
		||||
      model = 'claude-sonnet-4-20250514',
 | 
			
		||||
      timeout = 30000,
 | 
			
		||||
      extra_request_body = {
 | 
			
		||||
        temperature = 0.75,
 | 
			
		||||
        max_tokens = 4096,
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    openai = {
 | 
			
		||||
      endpoint = 'https://api.openai.com/v1',
 | 
			
		||||
      model = 'gpt-5',
 | 
			
		||||
      extra_request_body = {
 | 
			
		||||
return {
 | 
			
		||||
  'yetone/avante.nvim',
 | 
			
		||||
  -- if you want to build from source then do `make BUILD_FROM_SOURCE=true`
 | 
			
		||||
  -- ⚠️ must add this setting! ! !
 | 
			
		||||
  build = vim.fn.has('win32') ~= 0
 | 
			
		||||
      and 'powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false'
 | 
			
		||||
      or 'make',
 | 
			
		||||
  event = 'VeryLazy',
 | 
			
		||||
  version = false, -- Never set this value to '*'! Never!
 | 
			
		||||
  ---@module 'avante'
 | 
			
		||||
  ---@type avante.Config
 | 
			
		||||
  opts = {
 | 
			
		||||
    instructions_file = 'avante.md',
 | 
			
		||||
    provider = 'openai',
 | 
			
		||||
    auto_suggestions_provider = 'openai',
 | 
			
		||||
    providers = {
 | 
			
		||||
      claude = {
 | 
			
		||||
        endpoint = 'https://api.anthropic.com',
 | 
			
		||||
        model = 'claude-sonnet-4-20250514',
 | 
			
		||||
        timeout = 30000,
 | 
			
		||||
        temperature = 0,
 | 
			
		||||
        max_completion_tokens = 8192,
 | 
			
		||||
        extra_request_body = {
 | 
			
		||||
          temperature = 0.75,
 | 
			
		||||
          max_tokens = 4096,
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      openai = {
 | 
			
		||||
        endpoint = 'https://api.openai.com/v1',
 | 
			
		||||
        model = 'gpt-5',
 | 
			
		||||
        extra_request_body = {
 | 
			
		||||
          timeout = 30000,
 | 
			
		||||
          temperature = 0,
 | 
			
		||||
          max_completion_tokens = 8192,
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  rag_service = {
 | 
			
		||||
    enabled = false,
 | 
			
		||||
    host_path = '/home/gib/Documents/Code',
 | 
			
		||||
    runner = 'docker',
 | 
			
		||||
    llm = {
 | 
			
		||||
      provider = 'openai',
 | 
			
		||||
      endpoint = 'https://api.openai.com/v1',
 | 
			
		||||
      api_key = 'OPENAI_API_KEY',
 | 
			
		||||
      model = 'gpt-4o-mini',
 | 
			
		||||
      extra = {
 | 
			
		||||
        temperature = 0.7,
 | 
			
		||||
        max_tokens = 512,
 | 
			
		||||
        timeout = 60,
 | 
			
		||||
    rag_service = {
 | 
			
		||||
      enabled = false,
 | 
			
		||||
      host_path = '/home/gib/Documents/Code',
 | 
			
		||||
      runner = 'docker',
 | 
			
		||||
      llm = {
 | 
			
		||||
        provider = 'openai',
 | 
			
		||||
        endpoint = 'https://api.openai.com/v1',
 | 
			
		||||
        api_key = 'OPENAI_API_KEY',
 | 
			
		||||
        model = 'gpt-5',
 | 
			
		||||
        extra = {
 | 
			
		||||
          temperature = 0.7,
 | 
			
		||||
          max_tokens = 512,
 | 
			
		||||
          timeout = 60,
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      embed = {
 | 
			
		||||
        provider = 'openai',
 | 
			
		||||
        endpoint = 'https://api.openai.com/v1',
 | 
			
		||||
        api_key = 'OPENAI_API_KEY',
 | 
			
		||||
        model = 'text-embedding-3-large',
 | 
			
		||||
        extra = nil,
 | 
			
		||||
      },
 | 
			
		||||
      docker_extra_args = '',
 | 
			
		||||
    },
 | 
			
		||||
    web_search_engine = {
 | 
			
		||||
      provider = 'searxng',
 | 
			
		||||
      proxy = nil,
 | 
			
		||||
    },
 | 
			
		||||
    system_prompt = function()
 | 
			
		||||
      local hub = require('mcphub').get_hub_instance()
 | 
			
		||||
      return hub and hub:get_active_servers_prompt() or ''
 | 
			
		||||
    end,
 | 
			
		||||
    custom_tools = function()
 | 
			
		||||
      return {
 | 
			
		||||
        require('mcphub.extensions.avante').mcp_tool(),
 | 
			
		||||
      }
 | 
			
		||||
    end,
 | 
			
		||||
    behaviour = {
 | 
			
		||||
      auto_suggestions = false,
 | 
			
		||||
      auto_set_highlight_group = true,
 | 
			
		||||
      auto_set_keymaps = true,
 | 
			
		||||
      auto_apply_diff_after_generation = false,
 | 
			
		||||
      support_paste_from_clipboard = false,
 | 
			
		||||
      minimize_diff = true,
 | 
			
		||||
      enable_token_counting = true,
 | 
			
		||||
      auto_approve_tool_permissions = true,
 | 
			
		||||
    },
 | 
			
		||||
    mappings = {
 | 
			
		||||
      --- @class AvanteConflictMappings
 | 
			
		||||
      diff = {
 | 
			
		||||
        ours = 'co',
 | 
			
		||||
        theirs = 'ct',
 | 
			
		||||
        all_theirs = 'ca',
 | 
			
		||||
        both = 'cb',
 | 
			
		||||
        cursor = 'cc',
 | 
			
		||||
        next = ']x',
 | 
			
		||||
        prev = '[x',
 | 
			
		||||
      },
 | 
			
		||||
      suggestion = {
 | 
			
		||||
        accept = '<M-l>',
 | 
			
		||||
        next = '<M-]>',
 | 
			
		||||
        prev = '<M-[>',
 | 
			
		||||
        dismiss = '<C-]>',
 | 
			
		||||
      },
 | 
			
		||||
      jump = {
 | 
			
		||||
        next = ']]',
 | 
			
		||||
        prev = '[[',
 | 
			
		||||
      },
 | 
			
		||||
      submit = {
 | 
			
		||||
        normal = '<CR>',
 | 
			
		||||
        insert = '<C-s>',
 | 
			
		||||
      },
 | 
			
		||||
      cancel = {
 | 
			
		||||
        normal = { '<C-c>', '<Esc>', 'q' },
 | 
			
		||||
        insert = { '<C-c>' },
 | 
			
		||||
      },
 | 
			
		||||
      sidebar = {
 | 
			
		||||
        apply_all = 'A',
 | 
			
		||||
        apply_cursor = 'a',
 | 
			
		||||
        retry_user_request = 'r',
 | 
			
		||||
        edit_user_request = 'e',
 | 
			
		||||
        switch_windows = '<Tab>',
 | 
			
		||||
        reverse_switch_windows = '<S-Tab>',
 | 
			
		||||
        remove_file = 'd',
 | 
			
		||||
        add_file = '@',
 | 
			
		||||
        close = { '<Esc>', 'q' },
 | 
			
		||||
        close_from_input = nil,
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    embed = {
 | 
			
		||||
      provider = 'openai',
 | 
			
		||||
      endpoint = 'https://api.openai.com/v1',
 | 
			
		||||
      api_key = 'OPENAI_API_KEY',
 | 
			
		||||
      model = 'text-embedding-3-large',
 | 
			
		||||
      extra = nil,
 | 
			
		||||
    hints = { enabled = true },
 | 
			
		||||
    windows = {
 | 
			
		||||
      ---@type 'right' | 'left' | 'top' | 'bottom'
 | 
			
		||||
      position = 'right',
 | 
			
		||||
      wrap = true,
 | 
			
		||||
      width = 35,
 | 
			
		||||
      sidebar_header = {
 | 
			
		||||
        enabled = true,
 | 
			
		||||
        align = 'center',
 | 
			
		||||
        rounded = true,
 | 
			
		||||
      },
 | 
			
		||||
      input = {
 | 
			
		||||
        prefix = '> ',
 | 
			
		||||
        height = 8,
 | 
			
		||||
      },
 | 
			
		||||
      edit = {
 | 
			
		||||
        border = 'rounded',
 | 
			
		||||
        start_insert = true,
 | 
			
		||||
      },
 | 
			
		||||
      ask = {
 | 
			
		||||
        floating = false,
 | 
			
		||||
        start_insert = true,
 | 
			
		||||
        border = 'rounded',
 | 
			
		||||
        ---@type 'ours' | 'theirs'
 | 
			
		||||
        focus_on_apply = 'ours',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    docker_extra_args = '',
 | 
			
		||||
  },
 | 
			
		||||
  web_search_engine = {
 | 
			
		||||
    provider = 'searxng',
 | 
			
		||||
    proxy = nil,
 | 
			
		||||
  },
 | 
			
		||||
  system_prompt = function()
 | 
			
		||||
    local hub = require('mcphub').get_hub_instance()
 | 
			
		||||
    return hub and hub:get_active_servers_prompt() or ''
 | 
			
		||||
  end,
 | 
			
		||||
  custom_tools = function()
 | 
			
		||||
    return {
 | 
			
		||||
      require('mcphub.extensions.avante').mcp_tool(),
 | 
			
		||||
    }
 | 
			
		||||
  end,
 | 
			
		||||
  behaviour = {
 | 
			
		||||
    auto_suggestions = false,
 | 
			
		||||
    auto_set_highlight_group = true,
 | 
			
		||||
    auto_set_keymaps = true,
 | 
			
		||||
    auto_apply_diff_after_generation = false,
 | 
			
		||||
    support_paste_from_clipboard = false,
 | 
			
		||||
    minimize_diff = true,
 | 
			
		||||
    enable_token_counting = true,
 | 
			
		||||
    auto_approve_tool_permissions = true,
 | 
			
		||||
  },
 | 
			
		||||
  mappings = {
 | 
			
		||||
    --- @class AvanteConflictMappings
 | 
			
		||||
    highlights = {
 | 
			
		||||
      diff = {
 | 
			
		||||
        current = 'DiffText',
 | 
			
		||||
        incoming = 'DiffAdd',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    --- @class AvanteConflictUserConfig
 | 
			
		||||
    diff = {
 | 
			
		||||
      ours = 'co',
 | 
			
		||||
      theirs = 'ct',
 | 
			
		||||
      all_theirs = 'ca',
 | 
			
		||||
      both = 'cb',
 | 
			
		||||
      cursor = 'cc',
 | 
			
		||||
      next = ']x',
 | 
			
		||||
      prev = '[x',
 | 
			
		||||
      autojump = true,
 | 
			
		||||
      ---@type string | fun(): any
 | 
			
		||||
      list_opener = 'copen',
 | 
			
		||||
      override_timeoutlen = 500,
 | 
			
		||||
    },
 | 
			
		||||
    suggestion = {
 | 
			
		||||
      accept = '<M-l>',
 | 
			
		||||
      next = '<M-]>',
 | 
			
		||||
      prev = '<M-[>',
 | 
			
		||||
      dismiss = '<C-]>',
 | 
			
		||||
    },
 | 
			
		||||
    jump = {
 | 
			
		||||
      next = ']]',
 | 
			
		||||
      prev = '[[',
 | 
			
		||||
    },
 | 
			
		||||
    submit = {
 | 
			
		||||
      normal = '<CR>',
 | 
			
		||||
      insert = '<C-s>',
 | 
			
		||||
    },
 | 
			
		||||
    cancel = {
 | 
			
		||||
      normal = { '<C-c>', '<Esc>', 'q' },
 | 
			
		||||
      insert = { '<C-c>' },
 | 
			
		||||
    },
 | 
			
		||||
    sidebar = {
 | 
			
		||||
      apply_all = 'A',
 | 
			
		||||
      apply_cursor = 'a',
 | 
			
		||||
      retry_user_request = 'r',
 | 
			
		||||
      edit_user_request = 'e',
 | 
			
		||||
      switch_windows = '<Tab>',
 | 
			
		||||
      reverse_switch_windows = '<S-Tab>',
 | 
			
		||||
      remove_file = 'd',
 | 
			
		||||
      add_file = '@',
 | 
			
		||||
      close = { '<Esc>', 'q' },
 | 
			
		||||
      close_from_input = nil,
 | 
			
		||||
      debounce = 1000,
 | 
			
		||||
      throttle = 1000,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  hints = { enabled = true },
 | 
			
		||||
  windows = {
 | 
			
		||||
    ---@type 'right' | 'left' | 'top' | 'bottom'
 | 
			
		||||
    position = 'right',
 | 
			
		||||
    wrap = true,
 | 
			
		||||
    width = 35,
 | 
			
		||||
    sidebar_header = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      align = 'center',
 | 
			
		||||
      rounded = true,
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'nvim-lua/plenary.nvim' },
 | 
			
		||||
    { 'MunifTanjim/nui.nvim' },
 | 
			
		||||
    { 'hrsh7th/nvim-cmp' },
 | 
			
		||||
    { 'nvim-treesitter/nvim-treesitter' },
 | 
			
		||||
    { 'stevearc/dressing.nvim' },
 | 
			
		||||
    { 'nvim-tree/nvim-web-devicons' },
 | 
			
		||||
    { 'folke/snacks.nvim' },
 | 
			
		||||
    {
 | 
			
		||||
      'ravitemer/mcphub.nvim',
 | 
			
		||||
      build = "npm install -g mcp-hub@latest",
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'mcphub'.setup({
 | 
			
		||||
          config = vim.fn.expand('/home/gib/.config/mcphub/servers.json'),
 | 
			
		||||
          port = 37373,
 | 
			
		||||
          shutdown_delay = 60 * 10 * 000,
 | 
			
		||||
          use_bundled_binary = false,
 | 
			
		||||
          mcp_request_timeout = 60000,
 | 
			
		||||
          auto_approve = true,
 | 
			
		||||
          auto_toggle_mcp_servers = true,
 | 
			
		||||
          extensions = {
 | 
			
		||||
            avante = {
 | 
			
		||||
              make_slash_commands = true,
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
          native_servers = {},
 | 
			
		||||
          ui = {
 | 
			
		||||
            window = {
 | 
			
		||||
              width = 0.8,
 | 
			
		||||
              height = 0.8,
 | 
			
		||||
              align = 'center',
 | 
			
		||||
              relative = 'editor',
 | 
			
		||||
              zindex = 50,
 | 
			
		||||
              border = 'rounded',
 | 
			
		||||
            },
 | 
			
		||||
            wo = {
 | 
			
		||||
              winhl = 'Normal:MCPHubNormal,FloatBorder:MCPHubBorder',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
          log = {
 | 
			
		||||
            level = vim.log.levels.WARN,
 | 
			
		||||
            to_file = false,
 | 
			
		||||
            file_path = nil,
 | 
			
		||||
            prefix = 'MCPHub',
 | 
			
		||||
          },
 | 
			
		||||
        })
 | 
			
		||||
      end
 | 
			
		||||
    },
 | 
			
		||||
    input = {
 | 
			
		||||
      prefix = '> ',
 | 
			
		||||
      height = 8,
 | 
			
		||||
    {
 | 
			
		||||
      -- support for image pasting
 | 
			
		||||
      'HakonHarnes/img-clip.nvim',
 | 
			
		||||
      event = 'VeryLazy',
 | 
			
		||||
      opts = {
 | 
			
		||||
        -- recommended settings
 | 
			
		||||
        default = {
 | 
			
		||||
          embed_image_as_base64 = false,
 | 
			
		||||
          prompt_for_file_name = false,
 | 
			
		||||
          drag_and_drop = {
 | 
			
		||||
            insert_mode = true,
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    edit = {
 | 
			
		||||
      border = 'rounded',
 | 
			
		||||
      start_insert = true,
 | 
			
		||||
    },
 | 
			
		||||
    ask = {
 | 
			
		||||
      floating = false,
 | 
			
		||||
      start_insert = true,
 | 
			
		||||
      border = 'rounded',
 | 
			
		||||
      ---@type 'ours' | 'theirs'
 | 
			
		||||
      focus_on_apply = 'ours',
 | 
			
		||||
    {
 | 
			
		||||
      'MeanderingProgrammer/render-markdown.nvim',
 | 
			
		||||
      opts = {
 | 
			
		||||
        file_types = { 'markdown', 'Avante' },
 | 
			
		||||
      },
 | 
			
		||||
      ft = { 'markdown', 'Avante' },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  highlights = {
 | 
			
		||||
    diff = {
 | 
			
		||||
      current = 'DiffText',
 | 
			
		||||
      incoming = 'DiffAdd',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  --- @class AvanteConflictUserConfig
 | 
			
		||||
  diff = {
 | 
			
		||||
    autojump = true,
 | 
			
		||||
    ---@type string | fun(): any
 | 
			
		||||
    list_opener = 'copen',
 | 
			
		||||
    override_timeoutlen = 500,
 | 
			
		||||
  },
 | 
			
		||||
  suggestion = {
 | 
			
		||||
    debounce = 1000,
 | 
			
		||||
    throttle = 1000,
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
require'img-clip'.setup({
 | 
			
		||||
  default = {
 | 
			
		||||
    embed_image_as_base64 = false,
 | 
			
		||||
    prompt_for_file_name = false,
 | 
			
		||||
    drag_and_drop = {
 | 
			
		||||
      insert_mode = true,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
require'render-markdown'.setup({
 | 
			
		||||
  file_types = { 'markdown', 'Avante' },
 | 
			
		||||
})
 | 
			
		||||
require'mcphub'.setup({
 | 
			
		||||
  config = vim.fn.expand('/home/gib/.config/mcphub/servers.json'),
 | 
			
		||||
  port = 37373,
 | 
			
		||||
  shutdown_delay = 60 * 10 * 000,
 | 
			
		||||
  use_bundled_binary = false,
 | 
			
		||||
  mcp_request_timeout = 60000,
 | 
			
		||||
  auto_approve = true,
 | 
			
		||||
  auto_toggle_mcp_servers = true,
 | 
			
		||||
  extensions = {
 | 
			
		||||
    avante = {
 | 
			
		||||
      make_slash_commands = true,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  native_servers = {},
 | 
			
		||||
  ui = {
 | 
			
		||||
    window = {
 | 
			
		||||
      width = 0.8,
 | 
			
		||||
      height = 0.8,
 | 
			
		||||
      align = 'center',
 | 
			
		||||
      relative = 'editor',
 | 
			
		||||
      zindex = 50,
 | 
			
		||||
      border = 'rounded',
 | 
			
		||||
    },
 | 
			
		||||
    wo = {
 | 
			
		||||
      winhl = 'Normal:MCPHubNormal,FloatBorder:MCPHubBorder',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  --on_ready = function(hub)
 | 
			
		||||
  --end,
 | 
			
		||||
  --on_error = function(err)
 | 
			
		||||
  --end,
 | 
			
		||||
  log = {
 | 
			
		||||
    level = vim.log.levels.WARN,
 | 
			
		||||
    to_file = false,
 | 
			
		||||
    file_path = nil,
 | 
			
		||||
    prefix = 'MCPHub',
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,21 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/romgrk/barbar.nvim' },
 | 
			
		||||
  { src = 'https://github.com/lewis6991/gitsigns.nvim' },
 | 
			
		||||
  { src = 'https://github.com/nvim-tree/nvim-web-devicons' },
 | 
			
		||||
})
 | 
			
		||||
require'barbar'.setup({
 | 
			
		||||
  animation = true,
 | 
			
		||||
  insert_at_start = true
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set({'n'}, '<C-h>', ':BufferPrevious<CR>')
 | 
			
		||||
vim.keymap.set({'n'}, '<C-l>', ':BufferNext<CR>')
 | 
			
		||||
vim.keymap.set({'n'}, '<C-j>', ':BufferMovePrevious<CR>')
 | 
			
		||||
vim.keymap.set({'n'}, '<C-k>', ':BufferMoveNext<CR>')
 | 
			
		||||
vim.keymap.set({'n'}, '<C-q>', ':BufferClose<CR>')
 | 
			
		||||
vim.keymap.set({'n'}, '<C-a>', ':BufferCloseAllButCurrent<CR>')
 | 
			
		||||
return {
 | 
			
		||||
  'romgrk/barbar.nvim',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    'lewis6991/gitsigns.nvim',
 | 
			
		||||
    'nvim-tree/nvim-web-devicons',
 | 
			
		||||
  },
 | 
			
		||||
  init = function() vim.g.barbar_auto_setup = false end,
 | 
			
		||||
  opts = {
 | 
			
		||||
    animation = true,
 | 
			
		||||
    insert_at_start = true,
 | 
			
		||||
  },
 | 
			
		||||
  keys = {
 | 
			
		||||
    { "<C-h>", ":BufferPrevious<CR>", mode = "n", silent = true, desc = "Go to previous tab" },
 | 
			
		||||
    { "<C-l>", ":BufferNext<CR>",     mode = "n", silent = true, desc = "Go to next tab" },
 | 
			
		||||
    { "<C-j>", ":BufferMovePrevious<CR>", mode = "n", silent = true, desc = "Move tab to previous position" },
 | 
			
		||||
    { "<C-k>", ":BufferMoveNext<CR>", mode = "n", silent = true, desc = "Move tab to next position" },
 | 
			
		||||
    { "<C-q>", ":BufferClose<CR>",    mode = "n", silent = true, desc = "Close current tab" },
 | 
			
		||||
    { "<C-a>", ":BufferCloseAllButCurrent<CR>", mode = "n", silent = true, desc = "Close all tabs except current" },
 | 
			
		||||
  },
 | 
			
		||||
  version = '^1.0.0', -- optional: only update when a new 1.x version is released
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,20 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/laytan/cloak.nvim' },
 | 
			
		||||
})
 | 
			
		||||
require'cloak'.setup({
 | 
			
		||||
  enabled = false,
 | 
			
		||||
  cloak_character = "•",
 | 
			
		||||
  highlight_group = "Comment",
 | 
			
		||||
  patterns = {
 | 
			
		||||
    {
 | 
			
		||||
      file_pattern = {
 | 
			
		||||
        '.env*',
 | 
			
		||||
        'wrangler.toml',
 | 
			
		||||
        '.dev.vars',
 | 
			
		||||
return {
 | 
			
		||||
  'laytan/cloak.nvim',
 | 
			
		||||
  config = function()
 | 
			
		||||
    require'cloak'.setup({
 | 
			
		||||
      enabled = false,
 | 
			
		||||
      cloak_character = "•",
 | 
			
		||||
      highlight_group = "Comment",
 | 
			
		||||
      patterns = {
 | 
			
		||||
        {
 | 
			
		||||
          file_pattern = {
 | 
			
		||||
            '.env*',
 | 
			
		||||
            'wrangler.toml',
 | 
			
		||||
            '.dev.vars',
 | 
			
		||||
          },
 | 
			
		||||
          cloak_pattern = "=.+"
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      cloak_pattern = "=.+"
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
    })
 | 
			
		||||
  end,
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,18 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/folke/tokyonight.nvim' },
 | 
			
		||||
})
 | 
			
		||||
require('tokyonight').setup({
 | 
			
		||||
  style = 'moon',
 | 
			
		||||
  transparent = true,
 | 
			
		||||
  on_colors = function(colors)
 | 
			
		||||
    colors.comment = '#a0a7c5'
 | 
			
		||||
    colors.fg_gutter = '#787f93'
 | 
			
		||||
    colors.terminal_black = '#828bb8'
 | 
			
		||||
return {
 | 
			
		||||
  'folke/tokyonight.nvim',
 | 
			
		||||
  lazy = false,
 | 
			
		||||
  priority = 1000,
 | 
			
		||||
  opts = {
 | 
			
		||||
    style = 'moon',
 | 
			
		||||
    transparent = true,
 | 
			
		||||
    on_colors = function(colors)
 | 
			
		||||
      colors.comment = '#a0a7c5'
 | 
			
		||||
      colors.fg_gutter = '#787f93'
 | 
			
		||||
      colors.terminal_black = '#828bb8'
 | 
			
		||||
    end,
 | 
			
		||||
  },
 | 
			
		||||
  config = function(_,opts)
 | 
			
		||||
    require'tokyonight'.setup(opts)
 | 
			
		||||
    vim.cmd.colorscheme('tokyonight-moon')
 | 
			
		||||
  end,
 | 
			
		||||
})
 | 
			
		||||
vim.cmd('colorscheme tokyonight-moon')
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,28 +1,32 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/3rd/image.nvim' },
 | 
			
		||||
  { src = 'https://github.com/nvim-treesitter/nvim-treesitter'}
 | 
			
		||||
})
 | 
			
		||||
require'image'.setup({
 | 
			
		||||
  backend = "kitty",
 | 
			
		||||
  integrations = {
 | 
			
		||||
    markdown = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      clear_in_insert_mode = false,
 | 
			
		||||
      download_remote_images = true,
 | 
			
		||||
      only_render_image_at_cursor = false,
 | 
			
		||||
      filetypes = { "markdown", "vimwiki" },
 | 
			
		||||
    },
 | 
			
		||||
    neorg = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      clear_in_insert_mode = false,
 | 
			
		||||
      download_remote_images = true,
 | 
			
		||||
      only_render_image_at_cursor = false,
 | 
			
		||||
      filetypes = { "norg" },
 | 
			
		||||
    },
 | 
			
		||||
return {
 | 
			
		||||
  '3rd/image.nvim',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
  },
 | 
			
		||||
  max_width = nil,
 | 
			
		||||
  max_height = nil,
 | 
			
		||||
  max_width_window_percentage = nil,
 | 
			
		||||
  max_height_window_percentage = 50,
 | 
			
		||||
  kitty_method = "normal",
 | 
			
		||||
})
 | 
			
		||||
  config = function()
 | 
			
		||||
    require'image'.setup({
 | 
			
		||||
      backend = "kitty",
 | 
			
		||||
      integrations = {
 | 
			
		||||
        markdown = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          clear_in_insert_mode = false,
 | 
			
		||||
          download_remote_images = true,
 | 
			
		||||
          only_render_image_at_cursor = false,
 | 
			
		||||
          filetypes = { "markdown", "vimwiki" },
 | 
			
		||||
        },
 | 
			
		||||
        neorg = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          clear_in_insert_mode = false,
 | 
			
		||||
          download_remote_images = true,
 | 
			
		||||
          only_render_image_at_cursor = false,
 | 
			
		||||
          filetypes = { "norg" },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      max_width = nil,
 | 
			
		||||
      max_height = nil,
 | 
			
		||||
      max_width_window_percentage = nil,
 | 
			
		||||
      max_height_window_percentage = 50,
 | 
			
		||||
      kitty_method = "normal",
 | 
			
		||||
    })
 | 
			
		||||
  end,
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +0,0 @@
 | 
			
		||||
require'plugins.avante'
 | 
			
		||||
require'plugins.barbar'
 | 
			
		||||
require'plugins.colors'
 | 
			
		||||
require'plugins.cloak'
 | 
			
		||||
require'plugins.image'
 | 
			
		||||
require'plugins.lsp'
 | 
			
		||||
require'plugins.lualine'
 | 
			
		||||
require'plugins.neotree'
 | 
			
		||||
require'plugins.nerdcommenter'
 | 
			
		||||
require'plugins.snacks'
 | 
			
		||||
require'plugins.telescope'
 | 
			
		||||
require'plugins.treesitter'
 | 
			
		||||
require'plugins.trouble'
 | 
			
		||||
require'plugins.undotree'
 | 
			
		||||
@@ -1,251 +1,342 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/mason-org/mason.nvim' },
 | 
			
		||||
  { src = 'https://github.com/neovim/nvim-lspconfig' },
 | 
			
		||||
  { src = 'https://github.com/mason-org/mason-lspconfig.nvim' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/nvim-cmp' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/cmp-nvim-lsp' },
 | 
			
		||||
  { src = 'https://github.com/nvim-lua/plenary.nvim' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/cmp-nvim-lua' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/cmp-path' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/cmp-buffer' },
 | 
			
		||||
  { src = 'https://github.com/hrsh7th/cmp-emoji' },
 | 
			
		||||
  { src = 'https://github.com/chrisgrieser/cmp-nerdfont' },
 | 
			
		||||
  { src = 'https://github.com/jcha0713/cmp-tw2css' },
 | 
			
		||||
  { src = 'https://github.com/SergioRibera/cmp-dotenv' },
 | 
			
		||||
  { src = 'https://github.com/saadparwaiz1/cmp_luasnip' },
 | 
			
		||||
  { src = 'https://github.com/onsails/lspkind.nvim' },
 | 
			
		||||
  { src = 'https://github.com/rafamadriz/friendly-snippets' },
 | 
			
		||||
  { src = 'https://github.com/j-hui/fidget.nvim' },
 | 
			
		||||
  { src = 'https://github.com/David-Kunz/cmp-npm' },
 | 
			
		||||
  { src = 'https://github.com/stevearc/conform.nvim' },
 | 
			
		||||
  {
 | 
			
		||||
    src = 'https://github.com/L3MON4D3/LuaSnip',
 | 
			
		||||
    version = vim.version.range('2')
 | 
			
		||||
  },
 | 
			
		||||
  { src = 'https://github.com/supermaven-inc/supermaven-nvim' },
 | 
			
		||||
  { src = 'https://github.com/garyhurtz/cmp_kitty' },
 | 
			
		||||
  { src = 'https://github.com/windwp/nvim-autopairs' },
 | 
			
		||||
  { src = 'https://github.com/windwp/nvim-ts-autotag' },
 | 
			
		||||
  --{ src = 'https://github.com/hrsh7th/cmp-cmdline' },
 | 
			
		||||
  --{ src = 'https://github.com/chrisgrieser/cmp-yanky' },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
local cmp = require 'cmp'
 | 
			
		||||
local cmp_lsp = require 'cmp_nvim_lsp'
 | 
			
		||||
local lspconfig = require 'lspconfig'
 | 
			
		||||
local capabilities = vim.tbl_deep_extend(
 | 
			
		||||
  'force',
 | 
			
		||||
  {},
 | 
			
		||||
  vim.lsp.protocol.make_client_capabilities(),
 | 
			
		||||
  cmp_lsp.default_capabilities()
 | 
			
		||||
)
 | 
			
		||||
local cmp_select = { behavior = cmp.SelectBehavior.Select }
 | 
			
		||||
local lspkind = require 'lspkind'
 | 
			
		||||
local cmp_autopairs = require'nvim-autopairs.completion.cmp'
 | 
			
		||||
require 'mason'.setup({})
 | 
			
		||||
require 'mason-lspconfig'.setup({
 | 
			
		||||
  handlers = {
 | 
			
		||||
    function(server_name)
 | 
			
		||||
      require 'lspconfig'[server_name].setup({
 | 
			
		||||
        capabilities = capabilities
 | 
			
		||||
      })
 | 
			
		||||
    end,
 | 
			
		||||
    zls = function()
 | 
			
		||||
      lspconfig.zls.setup({
 | 
			
		||||
        root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"),
 | 
			
		||||
        settings = {
 | 
			
		||||
          zls = {
 | 
			
		||||
            enable_inlay_hints = true,
 | 
			
		||||
            enable_snippets = true,
 | 
			
		||||
            warn_style = true,
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
      vim.g.zig_fmt_parse_errors = 0
 | 
			
		||||
      vim.g.zig_fmt_autosave = 0
 | 
			
		||||
    end,
 | 
			
		||||
    ["lua_ls"] = function()
 | 
			
		||||
      lspconfig.lua_ls.setup({
 | 
			
		||||
        capabilities = capabilities,
 | 
			
		||||
        settings = {
 | 
			
		||||
          Lua = {
 | 
			
		||||
            format = {
 | 
			
		||||
              enable = true,
 | 
			
		||||
              defaultConfig = {
 | 
			
		||||
                indent_style = "space",
 | 
			
		||||
                indent_size = "2",
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      })
 | 
			
		||||
    end,
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
cmp.setup({
 | 
			
		||||
  snippet = {
 | 
			
		||||
    expand = function(args)
 | 
			
		||||
      require('luasnip').lsp_expand(args.body)
 | 
			
		||||
    end,
 | 
			
		||||
  },
 | 
			
		||||
  window = {
 | 
			
		||||
    completion = cmp.config.window.bordered(),
 | 
			
		||||
    documentation = cmp.config.window.bordered(),
 | 
			
		||||
  },
 | 
			
		||||
  sources = {
 | 
			
		||||
    { name = 'nvim_lsp' },
 | 
			
		||||
    { name = 'luasnip' },
 | 
			
		||||
    { name = 'buffer' },
 | 
			
		||||
    { name = 'supermaven' },
 | 
			
		||||
    --{ name = 'luasnip',    keyword_length = 2 },
 | 
			
		||||
    --{ name = 'buffer',     keyword_length = 3 },
 | 
			
		||||
    --{ name = 'supermaven', keyword_length = 2 },
 | 
			
		||||
return {
 | 
			
		||||
  'mason-org/mason-lspconfig.nvim',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'neovim/nvim-lspconfig', },
 | 
			
		||||
    {
 | 
			
		||||
      name = 'path',
 | 
			
		||||
      option = {
 | 
			
		||||
        pathMappings = {
 | 
			
		||||
          ['@'] = '${folder}/src',
 | 
			
		||||
          ['/'] = '${folder}/src/public',
 | 
			
		||||
          ['/components'] = '${folder}/src/components',
 | 
			
		||||
        },
 | 
			
		||||
        trailing_slash = true,
 | 
			
		||||
      'mason-org/mason.nvim',
 | 
			
		||||
      opts = {
 | 
			
		||||
        ui = {
 | 
			
		||||
          icons = {
 | 
			
		||||
            package_installed = "✓",
 | 
			
		||||
            package_pending = "➜",
 | 
			
		||||
            package_uninstalled = "✗"
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    { name = 'nvim_lsp_document_symbol' },
 | 
			
		||||
    { name = 'nvim_lsp_signature_health' },
 | 
			
		||||
    { name = 'nvim_lua' },
 | 
			
		||||
    { name = 'nerdfont' },
 | 
			
		||||
    { name = 'emoji' },
 | 
			
		||||
    { name = 'npm' },
 | 
			
		||||
    { name = 'cmp-tw2css' },
 | 
			
		||||
    { name = 'dotenv' },
 | 
			
		||||
    { name = 'kitty' },
 | 
			
		||||
    { name = 'render-markdown' },
 | 
			
		||||
    { name = 'cmdline' },
 | 
			
		||||
    --{ name = 'cmp_yanky' },
 | 
			
		||||
  },
 | 
			
		||||
  formatting = {
 | 
			
		||||
    format = lspkind.cmp_format({
 | 
			
		||||
      mode = 'symbol',
 | 
			
		||||
      maxwidth = {
 | 
			
		||||
        menu = 50,
 | 
			
		||||
        abbr = 50,
 | 
			
		||||
      },
 | 
			
		||||
      symbol_map = {
 | 
			
		||||
        Supermaven = '',
 | 
			
		||||
      },
 | 
			
		||||
      ellipsis_char = '...',
 | 
			
		||||
      show_labelDetails = true,
 | 
			
		||||
      before = function(entry, vim_item)
 | 
			
		||||
        return vim_item
 | 
			
		||||
      end,
 | 
			
		||||
    }),
 | 
			
		||||
  },
 | 
			
		||||
  mapping = cmp.mapping.preset.insert({
 | 
			
		||||
    ['<Tab>'] = cmp.mapping(function(fallback)
 | 
			
		||||
      if cmp.visible() then
 | 
			
		||||
        if cmp.get_selected_entry() then
 | 
			
		||||
          cmp.confirm({ select = false })
 | 
			
		||||
        else
 | 
			
		||||
          cmp.select_next_item()
 | 
			
		||||
        end
 | 
			
		||||
      else
 | 
			
		||||
        fallback()
 | 
			
		||||
      end
 | 
			
		||||
    end, { 'i', 's' }),
 | 
			
		||||
    {
 | 
			
		||||
      'hrsh7th/nvim-cmp',
 | 
			
		||||
      config = function()
 | 
			
		||||
        local cmp = require'cmp'
 | 
			
		||||
        local lspkind = require'lspkind'
 | 
			
		||||
        local cmp_select = { behavior = cmp.SelectBehavior.Select }
 | 
			
		||||
        cmp.setup({
 | 
			
		||||
          snippet = {
 | 
			
		||||
            expand = function(args)
 | 
			
		||||
              require('luasnip').lsp_expand(args.body)
 | 
			
		||||
            end,
 | 
			
		||||
          },
 | 
			
		||||
          window = {
 | 
			
		||||
            completion = cmp.config.window.bordered(),
 | 
			
		||||
            documentation = cmp.config.window.bordered(),
 | 
			
		||||
          },
 | 
			
		||||
          sources = {
 | 
			
		||||
            { name = 'nvim_lsp' },
 | 
			
		||||
            { name = 'luasnip' },
 | 
			
		||||
            { name = 'buffer' },
 | 
			
		||||
            { name = 'supermaven' },
 | 
			
		||||
            {
 | 
			
		||||
              name = 'path',
 | 
			
		||||
              option = {
 | 
			
		||||
                pathMappings = {
 | 
			
		||||
                  ['@'] = '${folder}/src',
 | 
			
		||||
                  ['/'] = '${folder}/public',
 | 
			
		||||
                  ['~/'] = '${folder}/',
 | 
			
		||||
                },
 | 
			
		||||
                trailing_slash = true,
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
            { name = 'nvim_lsp_document_symbol' },
 | 
			
		||||
            { name = 'nvim_lsp_signature_help' },
 | 
			
		||||
            { name = 'nvim_lua' },
 | 
			
		||||
            { name = 'nerdfont' },
 | 
			
		||||
            { name = 'emoji' },
 | 
			
		||||
            { name = 'npm' },
 | 
			
		||||
            { name = 'cmp-tw2css' },
 | 
			
		||||
            { name = 'dotenv' },
 | 
			
		||||
            { name = 'render-markdown' },
 | 
			
		||||
            { name = 'cmdline' },
 | 
			
		||||
            --{ name = 'kitty' },
 | 
			
		||||
          },
 | 
			
		||||
          formatting = {
 | 
			
		||||
            format = lspkind.cmp_format({
 | 
			
		||||
              mode = 'symbol',
 | 
			
		||||
              maxwidth = {
 | 
			
		||||
                menu = 50,
 | 
			
		||||
                abbr = 50,
 | 
			
		||||
              },
 | 
			
		||||
              symbol_map = {
 | 
			
		||||
                Supermaven = '',
 | 
			
		||||
              },
 | 
			
		||||
              ellipsis_char = '...',
 | 
			
		||||
              show_labelDetails = true,
 | 
			
		||||
              before = function(entry, vim_item)
 | 
			
		||||
                return vim_item
 | 
			
		||||
              end,
 | 
			
		||||
            }),
 | 
			
		||||
          },
 | 
			
		||||
          mapping = cmp.mapping.preset.insert({
 | 
			
		||||
            ['<Tab>'] = cmp.mapping(function(fallback)
 | 
			
		||||
              if cmp.visible() then
 | 
			
		||||
                if cmp.get_selected_entry() then
 | 
			
		||||
                  cmp.confirm({ select = false })
 | 
			
		||||
                else
 | 
			
		||||
                  cmp.select_next_item()
 | 
			
		||||
                end
 | 
			
		||||
              else
 | 
			
		||||
                fallback()
 | 
			
		||||
              end
 | 
			
		||||
            end, { 'i', 's' }),
 | 
			
		||||
 | 
			
		||||
    ['<C-y>'] = cmp.mapping.confirm({ select = true }),
 | 
			
		||||
    ['<C-Space>'] = cmp.mapping.complete(),
 | 
			
		||||
    ['<C-b>'] = cmp.mapping.scroll_docs(-4),
 | 
			
		||||
    ['<C-f>'] = cmp.mapping.scroll_docs(4),
 | 
			
		||||
    ['<C-e>'] = cmp.mapping.abort(),
 | 
			
		||||
    ['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
 | 
			
		||||
    ['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
 | 
			
		||||
    ['<C-d>'] = cmp.mapping.scroll_docs(4),
 | 
			
		||||
    ['<C-u>'] = cmp.mapping.scroll_docs(-4),
 | 
			
		||||
  }),
 | 
			
		||||
  preselect = cmp.PreselectMode.Item,
 | 
			
		||||
  completion = {
 | 
			
		||||
    completeopt = 'menu,menuone,noinsert',
 | 
			
		||||
            ['<C-y>'] = cmp.mapping.confirm({ select = true }),
 | 
			
		||||
            ['<C-Space>'] = cmp.mapping.complete(),
 | 
			
		||||
            ['<C-b>'] = cmp.mapping.scroll_docs(-4),
 | 
			
		||||
            ['<C-f>'] = cmp.mapping.scroll_docs(4),
 | 
			
		||||
            ['<C-e>'] = cmp.mapping.abort(),
 | 
			
		||||
            ['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
 | 
			
		||||
            ['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
 | 
			
		||||
            ['<C-d>'] = cmp.mapping.scroll_docs(4),
 | 
			
		||||
            ['<C-u>'] = cmp.mapping.scroll_docs(-4),
 | 
			
		||||
          }),
 | 
			
		||||
          preselect = cmp.PreselectMode.Item,
 | 
			
		||||
          completion = {
 | 
			
		||||
            completeopt = 'menu,menuone,noinsert',
 | 
			
		||||
          },
 | 
			
		||||
        })
 | 
			
		||||
        cmp.setup.cmdline('/', {
 | 
			
		||||
          mapping = cmp.mapping.preset.cmdline(),
 | 
			
		||||
          sources = {
 | 
			
		||||
            { name = 'buffer' }
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        cmp.setup.cmdline(':', {
 | 
			
		||||
          mapping = cmp.mapping.preset.cmdline(),
 | 
			
		||||
          sources = cmp.config.sources({
 | 
			
		||||
            { name = 'path' }
 | 
			
		||||
          }, {
 | 
			
		||||
            {
 | 
			
		||||
              name = 'cmdline',
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
        })
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
    { 'hrsh7th/cmp-nvim-lsp' },
 | 
			
		||||
    { 'nvim-lua/plenary.nvim' },
 | 
			
		||||
    { 'hrsh7th/cmp-nvim-lsp-document-symbol' },
 | 
			
		||||
    { 'hrsh7th/cmp-nvim-lua' },
 | 
			
		||||
    { 'hrsh7th/cmp-nvim-lsp-signature-help' },
 | 
			
		||||
    { 'hrsh7th/cmp-path' },
 | 
			
		||||
    { 'hrsh7th/cmp-buffer' },
 | 
			
		||||
    { 'hrsh7th/cmp-emoji' },
 | 
			
		||||
    { 'chrisgrieser/cmp-nerdfont' },
 | 
			
		||||
    { 'jcha0713/cmp-tw2css' },
 | 
			
		||||
    { 'SergioRibera/cmp-dotenv' },
 | 
			
		||||
    { 'saadparwaiz1/cmp_luasnip' },
 | 
			
		||||
    { 'onsails/lspkind.nvim' },
 | 
			
		||||
    { 'rafamadriz/friendly-snippets' },
 | 
			
		||||
    {
 | 
			
		||||
      'j-hui/fidget.nvim',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'fidget'.setup({})
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      'David-Kunz/cmp-npm',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'cmp-npm'.setup({})
 | 
			
		||||
      end
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      'stevearc/conform.nvim',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'conform'.setup({
 | 
			
		||||
          formatters_by_ft = {
 | 
			
		||||
            cs = { 'csharpier', 'lsp' },
 | 
			
		||||
            javascript = { 'prettierd', 'prettier' },
 | 
			
		||||
            javascriptreact = { 'prettierd', 'prettier' },
 | 
			
		||||
            typescript = { 'prettierd', 'prettier' },
 | 
			
		||||
            typescriptreact = { 'prettierd', 'prettier' },
 | 
			
		||||
            json = { 'prettierd', 'prettier' },
 | 
			
		||||
            html = { 'prettierd', 'prettier' },
 | 
			
		||||
            css = { 'prettierd', 'prettier' },
 | 
			
		||||
            lua = { 'stylua' },
 | 
			
		||||
          },
 | 
			
		||||
        })
 | 
			
		||||
        vim.api.nvim_create_user_command(
 | 
			
		||||
          'Format',
 | 
			
		||||
          function(args)
 | 
			
		||||
            local range
 | 
			
		||||
            if args.count ~= -1 then
 | 
			
		||||
              local start_line = vim.fn.line("'<")
 | 
			
		||||
              local end_line = vim.fn.line("'>")
 | 
			
		||||
            range = { start = { start_line, 0 }, ["end"] = { end_line, 0 } }
 | 
			
		||||
          end
 | 
			
		||||
          require'conform'.format({
 | 
			
		||||
            async = true,
 | 
			
		||||
            lsp_fallback = true,
 | 
			
		||||
            range = range,
 | 
			
		||||
          })
 | 
			
		||||
        end, { range = true, desc = "Format current buffer or range" })
 | 
			
		||||
      end,
 | 
			
		||||
      keys = {
 | 
			
		||||
        {
 | 
			
		||||
          '<leader>fk',
 | 
			
		||||
          ':Format<CR>',
 | 
			
		||||
          mode = {'n', 'v'},
 | 
			
		||||
          silent = true,
 | 
			
		||||
          desc = "Format with conform"
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      'L3MON4D3/LuaSnip',
 | 
			
		||||
      version = 'v2.*',
 | 
			
		||||
      build = 'make install_jsregexp'
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      'supermaven-inc/supermaven-nvim',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'supermaven-nvim'.setup({
 | 
			
		||||
          keymaps = {
 | 
			
		||||
            accept_suggestion = '<Tab>',
 | 
			
		||||
            clear_suggestion = '<C-]>',
 | 
			
		||||
            accept_word = '<C-.>',
 | 
			
		||||
          },
 | 
			
		||||
          disable_inline_completion = true,
 | 
			
		||||
        })
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      'windwp/nvim-autopairs',
 | 
			
		||||
      event = "InsertEnter",
 | 
			
		||||
      config = true
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      'windwp/nvim-ts-autotag',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'nvim-ts-autotag'.setup({})
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "garyhurtz/cmp_kitty",
 | 
			
		||||
      dependencies = {
 | 
			
		||||
        { "hrsh7th/nvim-cmp" },
 | 
			
		||||
      },
 | 
			
		||||
      init = function()
 | 
			
		||||
        require('cmp_kitty'):setup()
 | 
			
		||||
      end
 | 
			
		||||
    },
 | 
			
		||||
    { 'hrsh7th/cmp-cmdline' },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
 | 
			
		||||
require 'cmp_kitty':setup({})
 | 
			
		||||
require 'cmp-npm'.setup({})
 | 
			
		||||
require 'supermaven-nvim'.setup({
 | 
			
		||||
  disable_inline_completion = true,
 | 
			
		||||
})
 | 
			
		||||
require 'conform'.setup({
 | 
			
		||||
  formatters_by_ft = {
 | 
			
		||||
    cs = { 'csharpier', 'lsp' },
 | 
			
		||||
    javascript = { 'prettierd', 'prettier' },
 | 
			
		||||
    javascriptreact = { 'prettierd', 'prettier' },
 | 
			
		||||
    typescript = { 'prettierd', 'prettier' },
 | 
			
		||||
    typescriptreact = { 'prettierd', 'prettier' },
 | 
			
		||||
    json = { 'prettierd', 'prettier' },
 | 
			
		||||
    html = { 'prettierd', 'prettier' },
 | 
			
		||||
    css = { 'prettierd', 'prettier' },
 | 
			
		||||
    lua = { 'stylua' },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
require 'fidget'.setup({})
 | 
			
		||||
require 'nvim-autopairs'.setup({})
 | 
			
		||||
require 'nvim-ts-autotag'.setup({})
 | 
			
		||||
--cmp.setup.cmdline('/', {
 | 
			
		||||
  --mapping = cmp.mapping.preset.cmdline(),
 | 
			
		||||
  --sources = {
 | 
			
		||||
    --{ name = 'buffer' }
 | 
			
		||||
  --}
 | 
			
		||||
--})
 | 
			
		||||
--cmp.setup.cmdline(':', {
 | 
			
		||||
  --mapping = cmp.mapping.preset.cmdline(),
 | 
			
		||||
  --sources = cmp.config.sources({
 | 
			
		||||
    --{ name = 'path' }
 | 
			
		||||
  --}, {
 | 
			
		||||
    --{
 | 
			
		||||
      --name = 'cmdline',
 | 
			
		||||
    --}
 | 
			
		||||
  --})
 | 
			
		||||
--})
 | 
			
		||||
vim.lsp.enable({
 | 
			
		||||
  'asm_lsp',
 | 
			
		||||
  'bashls',
 | 
			
		||||
  'cmake',
 | 
			
		||||
  'cssls',
 | 
			
		||||
  'css_variables',
 | 
			
		||||
  'cssmodules_ls',
 | 
			
		||||
  'docker_compose_language_service',
 | 
			
		||||
  'dockerls',
 | 
			
		||||
  'eslint',
 | 
			
		||||
  'gopls',
 | 
			
		||||
  'gradle_ls',
 | 
			
		||||
  'graphql',
 | 
			
		||||
  'html',
 | 
			
		||||
  'htmx',
 | 
			
		||||
  'intelephense',
 | 
			
		||||
  'jsonls',
 | 
			
		||||
  'kotlin_lsp',
 | 
			
		||||
  'lua_ls',
 | 
			
		||||
  'markdown_oxide',
 | 
			
		||||
  'nginx_language_server',
 | 
			
		||||
  'prismals',
 | 
			
		||||
  'pyright',
 | 
			
		||||
  'rust-analyzer',
 | 
			
		||||
  'sqlls',
 | 
			
		||||
  'svelte_language_server',
 | 
			
		||||
  'tailwindcss',
 | 
			
		||||
  'ts_ls',
 | 
			
		||||
  'tinymist',
 | 
			
		||||
  'yamlls',
 | 
			
		||||
})
 | 
			
		||||
vim.diagnostic.config({
 | 
			
		||||
  float = {
 | 
			
		||||
    focusable = false,
 | 
			
		||||
    style = "minimal",
 | 
			
		||||
    border = "rounded",
 | 
			
		||||
    source = true,
 | 
			
		||||
    header = "",
 | 
			
		||||
    prefix = "",
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
  config = function()
 | 
			
		||||
    vim.diagnostic.config({
 | 
			
		||||
      float = {
 | 
			
		||||
        focusable = false,
 | 
			
		||||
        style = "minimal",
 | 
			
		||||
        border = "rounded",
 | 
			
		||||
        source = true,
 | 
			
		||||
        header = "",
 | 
			
		||||
        prefix = "",
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
    require'mason'.setup({})
 | 
			
		||||
    local cmp = require'cmp'
 | 
			
		||||
    local cmp_lsp = require'cmp_nvim_lsp'
 | 
			
		||||
    local lspconfig = require'lspconfig'
 | 
			
		||||
    local capabilities = vim.tbl_deep_extend(
 | 
			
		||||
      'force',
 | 
			
		||||
      {},
 | 
			
		||||
      vim.lsp.protocol.make_client_capabilities(),
 | 
			
		||||
      cmp_lsp.default_capabilities()
 | 
			
		||||
    )
 | 
			
		||||
    local cmp_autopairs = require'nvim-autopairs.completion.cmp'
 | 
			
		||||
    cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done())
 | 
			
		||||
    require 'mason-lspconfig'.setup({
 | 
			
		||||
      ensure_installed = {
 | 
			
		||||
        'asm_lsp',
 | 
			
		||||
        'bashls',
 | 
			
		||||
        'cmake',
 | 
			
		||||
        'cssls',
 | 
			
		||||
        'css_variables',
 | 
			
		||||
        'cssmodules_ls',
 | 
			
		||||
        'docker_compose_language_service',
 | 
			
		||||
        'dockerls',
 | 
			
		||||
        'eslint',
 | 
			
		||||
        'gopls',
 | 
			
		||||
        'gradle_ls',
 | 
			
		||||
        'graphql',
 | 
			
		||||
        'html',
 | 
			
		||||
        'htmx',
 | 
			
		||||
        'intelephense',
 | 
			
		||||
        'jsonls',
 | 
			
		||||
        'kotlin_lsp',
 | 
			
		||||
        'lua_ls',
 | 
			
		||||
        'markdown_oxide',
 | 
			
		||||
        'nginx_language_server',
 | 
			
		||||
        'prismals',
 | 
			
		||||
        'pyright',
 | 
			
		||||
        'rust_analyzer',
 | 
			
		||||
        'sqlls',
 | 
			
		||||
        'svelte',
 | 
			
		||||
        'tailwindcss',
 | 
			
		||||
        'ts_ls',
 | 
			
		||||
        'tinymist',
 | 
			
		||||
        'yamlls',
 | 
			
		||||
      },
 | 
			
		||||
      handlers = {
 | 
			
		||||
        function(server_name)
 | 
			
		||||
          lspconfig[server_name].setup({
 | 
			
		||||
            capabilities = capabilities
 | 
			
		||||
          })
 | 
			
		||||
        end,
 | 
			
		||||
        zls = function()
 | 
			
		||||
          lspconfig.zls.setup({
 | 
			
		||||
            root_dir = lspconfig.util.root_pattern(".git", "build.zig", "zls.json"),
 | 
			
		||||
            settings = {
 | 
			
		||||
              zls = {
 | 
			
		||||
                enable_inlay_hints = true,
 | 
			
		||||
                enable_snippets = true,
 | 
			
		||||
                warn_style = true,
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
          })
 | 
			
		||||
          vim.g.zig_fmt_parse_errors = 0
 | 
			
		||||
          vim.g.zig_fmt_autosave = 0
 | 
			
		||||
        end,
 | 
			
		||||
        ["lua_ls"] = function()
 | 
			
		||||
          lspconfig.lua_ls.setup({
 | 
			
		||||
            capabilities = capabilities,
 | 
			
		||||
            settings = {
 | 
			
		||||
              Lua = {
 | 
			
		||||
                runtime = {
 | 
			
		||||
                  version = 'LuaJIT',
 | 
			
		||||
                },
 | 
			
		||||
                diagnostics = {
 | 
			
		||||
                  globals = { 'vim' },
 | 
			
		||||
                },
 | 
			
		||||
                workspace = {
 | 
			
		||||
                  library = vim.api.nvim_get_runtime_file("", true),
 | 
			
		||||
                  checkThirdParty = false,
 | 
			
		||||
                  -- These are the key settings to prevent the infinite processing
 | 
			
		||||
                  maxPreload = 100000,
 | 
			
		||||
                  preloadFileSize = 10000,
 | 
			
		||||
                },
 | 
			
		||||
                telemetry = {
 | 
			
		||||
                  enable = false,
 | 
			
		||||
                },
 | 
			
		||||
                format = {
 | 
			
		||||
                  enable = true,
 | 
			
		||||
                  defaultConfig = {
 | 
			
		||||
                    indent_style = "space",
 | 
			
		||||
                    indent_size = "2",
 | 
			
		||||
                  },
 | 
			
		||||
                },
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
          })
 | 
			
		||||
        end,
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
  end,
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,59 +1,63 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/nvim-lualine/lualine.nvim' },
 | 
			
		||||
  { src = 'https://github.com/nvim-tree/nvim-web-devicons' },
 | 
			
		||||
  { src = 'https://github.com/folke/tokyonight.nvim' },
 | 
			
		||||
})
 | 
			
		||||
require'lualine'.setup({
 | 
			
		||||
  options = {
 | 
			
		||||
    icons_enabled = true,
 | 
			
		||||
    theme = 'tokyonight-moon',
 | 
			
		||||
    component_separators = { left = '', right = ''},
 | 
			
		||||
    section_separators = { left = '', right = ''},
 | 
			
		||||
    disabled_filetypes = {
 | 
			
		||||
      statusline = {},
 | 
			
		||||
      winbar = {},
 | 
			
		||||
    },
 | 
			
		||||
    ignore_focus = {},
 | 
			
		||||
    always_divide_middle = true,
 | 
			
		||||
    always_show_tabline = true,
 | 
			
		||||
    globalstatus = false,
 | 
			
		||||
    refresh = {
 | 
			
		||||
      statusline = 1000,
 | 
			
		||||
      tabline = 1000,
 | 
			
		||||
      winbar = 1000,
 | 
			
		||||
      refresh_time = 16,
 | 
			
		||||
      events = {
 | 
			
		||||
        'WinEnter',
 | 
			
		||||
        'BufEnter',
 | 
			
		||||
        'BufWritePost',
 | 
			
		||||
        'SessionLoadPost',
 | 
			
		||||
        'FileChangedShellPost',
 | 
			
		||||
        'VimResized',
 | 
			
		||||
        'Filetype',
 | 
			
		||||
        'CursorMoved',
 | 
			
		||||
        'CursorMovedI',
 | 
			
		||||
        'ModeChanged',
 | 
			
		||||
return {
 | 
			
		||||
  'nvim-lualine/lualine.nvim',
 | 
			
		||||
  config = function()
 | 
			
		||||
    require'lualine'.setup({
 | 
			
		||||
      options = {
 | 
			
		||||
        icons_enabled = true,
 | 
			
		||||
        theme = 'tokyonight-moon',
 | 
			
		||||
        component_separators = { left = '', right = ''},
 | 
			
		||||
        section_separators = { left = '', right = ''},
 | 
			
		||||
        disabled_filetypes = {
 | 
			
		||||
          statusline = {},
 | 
			
		||||
          winbar = {},
 | 
			
		||||
        },
 | 
			
		||||
        ignore_focus = {},
 | 
			
		||||
        always_divide_middle = true,
 | 
			
		||||
        always_show_tabline = true,
 | 
			
		||||
        globalstatus = false,
 | 
			
		||||
        refresh = {
 | 
			
		||||
          statusline = 1000,
 | 
			
		||||
          tabline = 1000,
 | 
			
		||||
          winbar = 1000,
 | 
			
		||||
          refresh_time = 16,
 | 
			
		||||
          events = {
 | 
			
		||||
            'WinEnter',
 | 
			
		||||
            'BufEnter',
 | 
			
		||||
            'BufWritePost',
 | 
			
		||||
            'SessionLoadPost',
 | 
			
		||||
            'FileChangedShellPost',
 | 
			
		||||
            'VimResized',
 | 
			
		||||
            'Filetype',
 | 
			
		||||
            'CursorMoved',
 | 
			
		||||
            'CursorMovedI',
 | 
			
		||||
            'ModeChanged',
 | 
			
		||||
          },
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
      sections = {
 | 
			
		||||
        lualine_a = {'mode'},
 | 
			
		||||
        lualine_b = {'branch', 'diff', 'diagnostics'},
 | 
			
		||||
        lualine_c = {'filename'},
 | 
			
		||||
        lualine_x = {'encoding', 'fileformat', 'filetype'},
 | 
			
		||||
        lualine_y = {'progress'},
 | 
			
		||||
        lualine_z = {'location'}
 | 
			
		||||
      },
 | 
			
		||||
      inactive_sections = {
 | 
			
		||||
        lualine_a = {},
 | 
			
		||||
        lualine_b = {},
 | 
			
		||||
        lualine_c = {'filename'},
 | 
			
		||||
        lualine_x = {'location'},
 | 
			
		||||
        lualine_y = {},
 | 
			
		||||
        lualine_z = {}
 | 
			
		||||
      },
 | 
			
		||||
      tabline = {},
 | 
			
		||||
      winbar = {},
 | 
			
		||||
      inactive_winbar = {},
 | 
			
		||||
      extensions = {}
 | 
			
		||||
    })
 | 
			
		||||
  end,
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'nvim-tree/nvim-web-devicons' },
 | 
			
		||||
    { 'folke/tokyonight.nvim' },
 | 
			
		||||
  },
 | 
			
		||||
  sections = {
 | 
			
		||||
    lualine_a = {'mode'},
 | 
			
		||||
    lualine_b = {'branch', 'diff', 'diagnostics'},
 | 
			
		||||
    lualine_c = {'filename'},
 | 
			
		||||
    lualine_x = {'encoding', 'fileformat', 'filetype'},
 | 
			
		||||
    lualine_y = {'progress'},
 | 
			
		||||
    lualine_z = {'location'}
 | 
			
		||||
  },
 | 
			
		||||
  inactive_sections = {
 | 
			
		||||
    lualine_a = {},
 | 
			
		||||
    lualine_b = {},
 | 
			
		||||
    lualine_c = {'filename'},
 | 
			
		||||
    lualine_x = {'location'},
 | 
			
		||||
    lualine_y = {},
 | 
			
		||||
    lualine_z = {}
 | 
			
		||||
  },
 | 
			
		||||
  tabline = {},
 | 
			
		||||
  winbar = {},
 | 
			
		||||
  inactive_winbar = {},
 | 
			
		||||
  extensions = {}
 | 
			
		||||
})
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,315 +1,327 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  {
 | 
			
		||||
    src = 'https://github.com/nvim-neo-tree/neo-tree.nvim',
 | 
			
		||||
    version = vim.version.range('3')
 | 
			
		||||
  },
 | 
			
		||||
  'https://github.com/nvim-lua/plenary.nvim',
 | 
			
		||||
  'https://github.com/MunifTanjim/nui.nvim',
 | 
			
		||||
  'https://github.com/nvim-tree/nvim-web-devicons',
 | 
			
		||||
  'https://github.com/antosha417/nvim-lsp-file-operations',
 | 
			
		||||
  'https://github.com/3rd/image.nvim',
 | 
			
		||||
  {
 | 
			
		||||
    src = 'https://github.com/s1n7ax/nvim-window-picker',
 | 
			
		||||
    version = vim.version.range('2'),
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
require('lsp-file-operations').setup()
 | 
			
		||||
require('window-picker').setup({
 | 
			
		||||
  filter_rules = {
 | 
			
		||||
    include_current_win = false,
 | 
			
		||||
    autoselect_one = true,
 | 
			
		||||
    bo = {
 | 
			
		||||
      filetype = { "neo-tree", "neo-tree-popup", "notify" },
 | 
			
		||||
      buftype = { "terminal", "quickfix" },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
require('neo-tree').setup({
 | 
			
		||||
  vim.diagnostic.config({
 | 
			
		||||
    signs = {
 | 
			
		||||
      text = {
 | 
			
		||||
        [vim.diagnostic.severity.ERROR] = '',
 | 
			
		||||
        [vim.diagnostic.severity.WARN] = '',
 | 
			
		||||
        [vim.diagnostic.severity.INFO] = '',
 | 
			
		||||
        [vim.diagnostic.severity.HINT] = '',
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
  }),
 | 
			
		||||
  close_if_last_window = true,
 | 
			
		||||
  enable_git_status = true,
 | 
			
		||||
  enable_diagnostics = true,
 | 
			
		||||
  open_files_do_not_replace_types = { 'terminal', 'trouble', 'qf' },
 | 
			
		||||
  open_files_using_relative_paths = false,
 | 
			
		||||
  sort_case_insensitive = true,
 | 
			
		||||
  sort_function = nil,
 | 
			
		||||
  default_component_configs = {
 | 
			
		||||
    container = {
 | 
			
		||||
      enable_character_fade = true,
 | 
			
		||||
    },
 | 
			
		||||
    indent = {
 | 
			
		||||
      indent_size = 2,
 | 
			
		||||
      padding = 1,
 | 
			
		||||
      with_markers = true,
 | 
			
		||||
      indent_marker = '│',
 | 
			
		||||
      last_indent_marker = '└',
 | 
			
		||||
      highlight = 'NeoTreeIndentMarker',
 | 
			
		||||
      with_expanders = nil,
 | 
			
		||||
      expander_collapsed = '',
 | 
			
		||||
      expander_expanded = '',
 | 
			
		||||
      expander_highlight = 'NeoTreeExpander',
 | 
			
		||||
    },
 | 
			
		||||
    icon = {
 | 
			
		||||
      folder_closed = '',
 | 
			
		||||
      folder_open = '',
 | 
			
		||||
      folder_empty = '',
 | 
			
		||||
      provider = function(icon, node, state)
 | 
			
		||||
        if node.type == 'file' or node.type == 'terminal' then
 | 
			
		||||
          local success, web_devicons = pcall(require, 'nvim-web-devicons')
 | 
			
		||||
          local name = node.type == 'terminal' and 'terminal' or node.name
 | 
			
		||||
          if success then
 | 
			
		||||
            local devicon, hl = web_devicons.get_icon(name)
 | 
			
		||||
            icon.text = devicon or icon.text
 | 
			
		||||
            icon.highlight = hl or icon.highlight
 | 
			
		||||
          end
 | 
			
		||||
        end
 | 
			
		||||
      end,
 | 
			
		||||
      default = '*',
 | 
			
		||||
      highlight = 'NeoTreeFileIcon',
 | 
			
		||||
    },
 | 
			
		||||
    modified = {
 | 
			
		||||
      symbol = '[+]',
 | 
			
		||||
      highlight = 'NeoTreeModified',
 | 
			
		||||
    },
 | 
			
		||||
    name = {
 | 
			
		||||
      trailing_slash = false,
 | 
			
		||||
      use_git_status_colors = true,
 | 
			
		||||
      highlight = 'NeoTreeFileName',
 | 
			
		||||
    },
 | 
			
		||||
    git_status = {
 | 
			
		||||
      symbols = {
 | 
			
		||||
        added = '',
 | 
			
		||||
        modified = '',
 | 
			
		||||
        deleted = '✖',
 | 
			
		||||
        renamed = '',
 | 
			
		||||
        untracked = '',
 | 
			
		||||
        ignored = '',
 | 
			
		||||
        unstaged = '',
 | 
			
		||||
        staged = '',
 | 
			
		||||
        conflict = '',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    file_size = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      width = 12,
 | 
			
		||||
      required_width = 64,
 | 
			
		||||
    },
 | 
			
		||||
    type = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      width = 10,
 | 
			
		||||
      required_width = 122,
 | 
			
		||||
    },
 | 
			
		||||
    last_modified = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      width = 20,
 | 
			
		||||
      required_width = 88,
 | 
			
		||||
    },
 | 
			
		||||
    created = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      width = 20,
 | 
			
		||||
      required_width = 110,
 | 
			
		||||
    },
 | 
			
		||||
    symlink_target = {
 | 
			
		||||
      enabled = false,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  window = {
 | 
			
		||||
    position = 'left',
 | 
			
		||||
    width = 30,
 | 
			
		||||
    mapping_options = {
 | 
			
		||||
      noremap = true,
 | 
			
		||||
      nowait = true,
 | 
			
		||||
    },
 | 
			
		||||
    mappings = {
 | 
			
		||||
      ['<space>'] = {
 | 
			
		||||
        'toggle_node',
 | 
			
		||||
        nowait = false,
 | 
			
		||||
      },
 | 
			
		||||
      ['<2-LeftMouse>'] = 'open',
 | 
			
		||||
      ['<cr>'] = 'open',
 | 
			
		||||
      ['<esc>'] = 'cancel',
 | 
			
		||||
      ['P'] = { 'toggle_preview', config = { use_float = true, use_image_nvim = true } },
 | 
			
		||||
      ['l'] = 'focus_preview',
 | 
			
		||||
      ['S'] = 'open_split',
 | 
			
		||||
      ['s'] = 'open_vsplit',
 | 
			
		||||
      ['t'] = 'open_tabnew',
 | 
			
		||||
      ['w'] = 'open_with_window_picker',
 | 
			
		||||
      ['C'] = 'close_node',
 | 
			
		||||
      ['z'] = 'close_all_nodes',
 | 
			
		||||
      ['a'] = {
 | 
			
		||||
        'add',
 | 
			
		||||
        config = {
 | 
			
		||||
          show_path = 'relative',
 | 
			
		||||
return {
 | 
			
		||||
  'nvim-neo-tree/neo-tree.nvim',
 | 
			
		||||
  config = function()
 | 
			
		||||
    vim.diagnostic.config({
 | 
			
		||||
      signs = {
 | 
			
		||||
        text = {
 | 
			
		||||
          [vim.diagnostic.severity.ERROR] = '',
 | 
			
		||||
          [vim.diagnostic.severity.WARN] = '',
 | 
			
		||||
          [vim.diagnostic.severity.INFO] = '',
 | 
			
		||||
          [vim.diagnostic.severity.HINT] = '',
 | 
			
		||||
        },
 | 
			
		||||
      }
 | 
			
		||||
    })
 | 
			
		||||
    require'neo-tree'.setup({
 | 
			
		||||
      close_if_last_window = true,
 | 
			
		||||
      enable_git_status = true,
 | 
			
		||||
      enable_diagnostics = true,
 | 
			
		||||
      open_files_do_not_replace_types = { 'terminal', 'trouble', 'qf' },
 | 
			
		||||
      open_files_using_relative_paths = false,
 | 
			
		||||
      sort_case_insensitive = true,
 | 
			
		||||
      sort_function = nil,
 | 
			
		||||
      default_component_configs = {
 | 
			
		||||
        container = {
 | 
			
		||||
          enable_character_fade = true,
 | 
			
		||||
        },
 | 
			
		||||
        indent = {
 | 
			
		||||
          indent_size = 2,
 | 
			
		||||
          padding = 1,
 | 
			
		||||
          with_markers = true,
 | 
			
		||||
          indent_marker = '│',
 | 
			
		||||
          last_indent_marker = '└',
 | 
			
		||||
          highlight = 'NeoTreeIndentMarker',
 | 
			
		||||
          with_expanders = nil,
 | 
			
		||||
          expander_collapsed = '',
 | 
			
		||||
          expander_expanded = '',
 | 
			
		||||
          expander_highlight = 'NeoTreeExpander',
 | 
			
		||||
        },
 | 
			
		||||
        icon = {
 | 
			
		||||
          folder_closed = '',
 | 
			
		||||
          folder_open = '',
 | 
			
		||||
          folder_empty = '',
 | 
			
		||||
          provider = function(icon, node, state)
 | 
			
		||||
            if node.type == 'file' or node.type == 'terminal' then
 | 
			
		||||
              local success, web_devicons = pcall(require, 'nvim-web-devicons')
 | 
			
		||||
              local name = node.type == 'terminal' and 'terminal' or node.name
 | 
			
		||||
              if success then
 | 
			
		||||
                local devicon, hl = web_devicons.get_icon(name)
 | 
			
		||||
                icon.text = devicon or icon.text
 | 
			
		||||
                icon.highlight = hl or icon.highlight
 | 
			
		||||
              end
 | 
			
		||||
            end
 | 
			
		||||
          end,
 | 
			
		||||
          default = '*',
 | 
			
		||||
          highlight = 'NeoTreeFileIcon',
 | 
			
		||||
        },
 | 
			
		||||
        modified = {
 | 
			
		||||
          symbol = '[+]',
 | 
			
		||||
          highlight = 'NeoTreeModified',
 | 
			
		||||
        },
 | 
			
		||||
        name = {
 | 
			
		||||
          trailing_slash = false,
 | 
			
		||||
          use_git_status_colors = true,
 | 
			
		||||
          highlight = 'NeoTreeFileName',
 | 
			
		||||
        },
 | 
			
		||||
        git_status = {
 | 
			
		||||
          symbols = {
 | 
			
		||||
            added = '',
 | 
			
		||||
            modified = '',
 | 
			
		||||
            deleted = '✖',
 | 
			
		||||
            renamed = '',
 | 
			
		||||
            untracked = '',
 | 
			
		||||
            ignored = '',
 | 
			
		||||
            unstaged = '',
 | 
			
		||||
            staged = '',
 | 
			
		||||
            conflict = '',
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        file_size = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          width = 12,
 | 
			
		||||
          required_width = 64,
 | 
			
		||||
        },
 | 
			
		||||
        type = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          width = 10,
 | 
			
		||||
          required_width = 122,
 | 
			
		||||
        },
 | 
			
		||||
        last_modified = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          width = 20,
 | 
			
		||||
          required_width = 88,
 | 
			
		||||
        },
 | 
			
		||||
        created = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          width = 20,
 | 
			
		||||
          required_width = 110,
 | 
			
		||||
        },
 | 
			
		||||
        symlink_target = {
 | 
			
		||||
          enabled = false,
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      ['A'] = 'add_directory',
 | 
			
		||||
      ['d'] = 'delete',
 | 
			
		||||
      ['r'] = 'rename',
 | 
			
		||||
      ['b'] = 'rename_basename',
 | 
			
		||||
      ['y'] = 'copy_to_clipboard',
 | 
			
		||||
      ['x'] = 'cut_to_clipboard',
 | 
			
		||||
      ['p'] = 'paste_from_clipboard',
 | 
			
		||||
      ['c'] = { 'copy', config = { show_path = 'relative' } },
 | 
			
		||||
      ['m'] = { 'move', config = { show_path = 'relative' } },
 | 
			
		||||
      ['q'] = 'close_window',
 | 
			
		||||
      ['R'] = 'refresh',
 | 
			
		||||
      ['?'] = 'show_help',
 | 
			
		||||
      ['<'] = 'prev_source',
 | 
			
		||||
      ['>'] = 'next_source',
 | 
			
		||||
      ['i'] = 'show_file_details',
 | 
			
		||||
      window = {
 | 
			
		||||
        position = 'left',
 | 
			
		||||
        width = 30,
 | 
			
		||||
        mapping_options = {
 | 
			
		||||
          noremap = true,
 | 
			
		||||
          nowait = true,
 | 
			
		||||
        },
 | 
			
		||||
        mappings = {
 | 
			
		||||
          ['<space>'] = {
 | 
			
		||||
            'toggle_node',
 | 
			
		||||
            nowait = false,
 | 
			
		||||
          },
 | 
			
		||||
          ['<2-LeftMouse>'] = 'open',
 | 
			
		||||
          ['<cr>'] = 'open',
 | 
			
		||||
          ['<esc>'] = 'cancel',
 | 
			
		||||
          ['P'] = { 'toggle_preview', config = { use_float = true, use_image_nvim = true } },
 | 
			
		||||
          ['l'] = 'focus_preview',
 | 
			
		||||
          ['S'] = 'open_split',
 | 
			
		||||
          ['s'] = 'open_vsplit',
 | 
			
		||||
          ['t'] = 'open_tabnew',
 | 
			
		||||
          ['w'] = 'open_with_window_picker',
 | 
			
		||||
          ['C'] = 'close_node',
 | 
			
		||||
          ['z'] = 'close_all_nodes',
 | 
			
		||||
          ['a'] = {
 | 
			
		||||
            'add',
 | 
			
		||||
            config = {
 | 
			
		||||
              show_path = 'relative',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
          ['A'] = 'add_directory',
 | 
			
		||||
          ['d'] = 'delete',
 | 
			
		||||
          ['r'] = 'rename',
 | 
			
		||||
          ['b'] = 'rename_basename',
 | 
			
		||||
          ['y'] = 'copy_to_clipboard',
 | 
			
		||||
          ['x'] = 'cut_to_clipboard',
 | 
			
		||||
          ['p'] = 'paste_from_clipboard',
 | 
			
		||||
          ['c'] = { 'copy', config = { show_path = 'relative' } },
 | 
			
		||||
          ['m'] = { 'move', config = { show_path = 'relative' } },
 | 
			
		||||
          ['q'] = 'close_window',
 | 
			
		||||
          ['R'] = 'refresh',
 | 
			
		||||
          ['?'] = 'show_help',
 | 
			
		||||
          ['<'] = 'prev_source',
 | 
			
		||||
          ['>'] = 'next_source',
 | 
			
		||||
          ['i'] = 'show_file_details',
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      filesystem = {
 | 
			
		||||
        filtered_items = {
 | 
			
		||||
          visible = false,
 | 
			
		||||
          hide_dotfiles = true,
 | 
			
		||||
          hide_gitignored = true,
 | 
			
		||||
          hide_hidden = true,
 | 
			
		||||
          hide_by_name = {
 | 
			
		||||
            'node_modules',
 | 
			
		||||
            '.next',
 | 
			
		||||
            '.vscode',
 | 
			
		||||
            '.idea',
 | 
			
		||||
          },
 | 
			
		||||
          hide_by_pattern = {
 | 
			
		||||
            '*.meta',
 | 
			
		||||
            '*/src/*/tsconfig.json',
 | 
			
		||||
          },
 | 
			
		||||
          always_show = {
 | 
			
		||||
            '.gitignored',
 | 
			
		||||
          },
 | 
			
		||||
          always_show_by_pattern = { -- uses glob style patterns
 | 
			
		||||
            '.env*',
 | 
			
		||||
          },
 | 
			
		||||
          never_show = {
 | 
			
		||||
            '.DS_Store',
 | 
			
		||||
            'thumbs.db'
 | 
			
		||||
          },
 | 
			
		||||
          never_show_by_pattern = {},
 | 
			
		||||
        },
 | 
			
		||||
        follow_current_file = {
 | 
			
		||||
          enabled = false,
 | 
			
		||||
          leave_dirs_open = false,
 | 
			
		||||
        },
 | 
			
		||||
        group_empty_dirs = false,
 | 
			
		||||
        hijack_netrw_behavior = 'open_default',
 | 
			
		||||
        use_libuv_file_watcher = false,
 | 
			
		||||
        commands = {
 | 
			
		||||
          avante_add_files = function(state)
 | 
			
		||||
            local node = state.tree:get_node()
 | 
			
		||||
            local filepath = node:get_id()
 | 
			
		||||
            local relative_path = require('avante.utils').relative_path(filepath)
 | 
			
		||||
            local sidebar = require('avante').get()
 | 
			
		||||
            local open = sidebar:is_open()
 | 
			
		||||
            if not open then
 | 
			
		||||
              require('avante.api').ask()
 | 
			
		||||
              sidebar = require('avante').get()
 | 
			
		||||
            end
 | 
			
		||||
            sidebar.file_selector:add_selected_file(relative_path)
 | 
			
		||||
            if not open then
 | 
			
		||||
              sidebar.file_selector:remove_selected_file('neo-tree filesystem [1]')
 | 
			
		||||
            end
 | 
			
		||||
          end,
 | 
			
		||||
        },
 | 
			
		||||
        window = {
 | 
			
		||||
          mappings = {
 | 
			
		||||
            ['<bs>'] = 'navigate_up',
 | 
			
		||||
            ['.'] = 'set_root',
 | 
			
		||||
            ['H'] = 'toggle_hidden',
 | 
			
		||||
            ['/'] = 'fuzzy_finder',
 | 
			
		||||
            ['D'] = 'fuzzy_finder_directory',
 | 
			
		||||
            ['#'] = 'fuzzy_sorter',
 | 
			
		||||
            -- ['D'] = 'fuzzy_sorter_directory',
 | 
			
		||||
            ['f'] = 'filter_on_submit',
 | 
			
		||||
            ['<c-x>'] = 'clear_filter',
 | 
			
		||||
            ['[g'] = 'prev_git_modified',
 | 
			
		||||
            [']g'] = 'next_git_modified',
 | 
			
		||||
            ['o'] = {
 | 
			
		||||
              'show_help',
 | 
			
		||||
              nowait = false,
 | 
			
		||||
              config = { title = 'Order by', prefix_key = 'o' },
 | 
			
		||||
            },
 | 
			
		||||
            ['oa'] = 'avante_add_files',
 | 
			
		||||
            ['oc'] = { 'order_by_created', nowait = false },
 | 
			
		||||
            ['od'] = { 'order_by_diagnostics', nowait = false },
 | 
			
		||||
            ['og'] = { 'order_by_git_status', nowait = false },
 | 
			
		||||
            ['om'] = { 'order_by_modified', nowait = false },
 | 
			
		||||
            ['on'] = { 'order_by_name', nowait = false },
 | 
			
		||||
            ['os'] = { 'order_by_size', nowait = false },
 | 
			
		||||
            ['ot'] = { 'order_by_type', nowait = false },
 | 
			
		||||
          },
 | 
			
		||||
          fuzzy_finder_mappings = {
 | 
			
		||||
            ['<down>'] = 'move_cursor_down',
 | 
			
		||||
            ['<C-n>'] = 'move_cursor_down',
 | 
			
		||||
            ['<up>'] = 'move_cursor_up',
 | 
			
		||||
            ['<C-p>'] = 'move_cursor_up',
 | 
			
		||||
            ['<esc>'] = 'close',
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      buffers = {
 | 
			
		||||
        follow_current_file = {
 | 
			
		||||
          enabled = true,
 | 
			
		||||
          leave_dirs_open = false,
 | 
			
		||||
        },
 | 
			
		||||
        group_empty_dirs = true,
 | 
			
		||||
        show_unloaded = true,
 | 
			
		||||
        window = {
 | 
			
		||||
          mappings = {
 | 
			
		||||
            ['d'] = 'buffer_delete',
 | 
			
		||||
            ['bd'] = 'buffer_delete',
 | 
			
		||||
            ['<bs>'] = 'navigate_up',
 | 
			
		||||
            ['.'] = 'set_root',
 | 
			
		||||
            ['o'] = {
 | 
			
		||||
              'show_help',
 | 
			
		||||
              nowait = false,
 | 
			
		||||
              config = { title = 'Order by', prefix_key = 'o' },
 | 
			
		||||
            },
 | 
			
		||||
            ['oc'] = { 'order_by_created', nowait = false },
 | 
			
		||||
            ['od'] = { 'order_by_diagnostics', nowait = false },
 | 
			
		||||
            ['om'] = { 'order_by_modified', nowait = false },
 | 
			
		||||
            ['on'] = { 'order_by_name', nowait = false },
 | 
			
		||||
            ['os'] = { 'order_by_size', nowait = false },
 | 
			
		||||
            ['ot'] = { 'order_by_type', nowait = false },
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      git_status = {
 | 
			
		||||
        window = {
 | 
			
		||||
          position = 'float',
 | 
			
		||||
          mappings = {
 | 
			
		||||
            ['A'] = 'git_add_all',
 | 
			
		||||
            ['gu'] = 'git_unstage_file',
 | 
			
		||||
            ['gU']  = 'git_undo_last_commit',
 | 
			
		||||
            ['ga'] = 'git_add_file',
 | 
			
		||||
            ['gr'] = 'git_revert_file',
 | 
			
		||||
            ['gc'] = 'git_commit',
 | 
			
		||||
            ['gp'] = 'git_push',
 | 
			
		||||
            ['gg'] = 'git_commit_and_push',
 | 
			
		||||
            ['o'] = {
 | 
			
		||||
              'show_help',
 | 
			
		||||
              nowait = false,
 | 
			
		||||
              config = { title = 'Order by', prefix_key = 'o' },
 | 
			
		||||
            },
 | 
			
		||||
            ['oc'] = { 'order_by_created', nowait = false },
 | 
			
		||||
            ['od'] = { 'order_by_diagnostics', nowait = false },
 | 
			
		||||
            ['om'] = { 'order_by_modified', nowait = false },
 | 
			
		||||
            ['on'] = { 'order_by_name', nowait = false },
 | 
			
		||||
            ['os'] = { 'order_by_size', nowait = false },
 | 
			
		||||
            ['ot'] = { 'order_by_type', nowait = false },
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
  end,
 | 
			
		||||
  keys = {
 | 
			
		||||
    {
 | 
			
		||||
      '<leader>t',
 | 
			
		||||
      ':Neotree toggle<CR>',
 | 
			
		||||
      mode = { 'n', 'v', 'x'},
 | 
			
		||||
      silent = true,
 | 
			
		||||
      desc = 'Toggle NeoTree',
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      '<leader>T',
 | 
			
		||||
      ':Neotree focus<CR>',
 | 
			
		||||
      mode = { 'n', 'v', 'x' },
 | 
			
		||||
      silent = true, desc = 'Focus NeoTree',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  filesystem = {
 | 
			
		||||
    filtered_items = {
 | 
			
		||||
      visible = false,
 | 
			
		||||
      hide_dotfiles = true,
 | 
			
		||||
      hide_gitignored = true,
 | 
			
		||||
      hide_hidden = true,
 | 
			
		||||
      hide_by_name = {
 | 
			
		||||
        'node_modules',
 | 
			
		||||
        '.next',
 | 
			
		||||
        '.vscode',
 | 
			
		||||
        '.idea',
 | 
			
		||||
      },
 | 
			
		||||
      hide_by_pattern = {
 | 
			
		||||
        '*.meta',
 | 
			
		||||
        '*/src/*/tsconfig.json',
 | 
			
		||||
      },
 | 
			
		||||
      always_show = {
 | 
			
		||||
        '.gitignored',
 | 
			
		||||
      },
 | 
			
		||||
      always_show_by_pattern = { -- uses glob style patterns
 | 
			
		||||
        '.env*',
 | 
			
		||||
      },
 | 
			
		||||
      never_show = {
 | 
			
		||||
        '.DS_Store',
 | 
			
		||||
        'thumbs.db'
 | 
			
		||||
      },
 | 
			
		||||
      never_show_by_pattern = {},
 | 
			
		||||
    },
 | 
			
		||||
    follow_current_file = {
 | 
			
		||||
      enabled = false,
 | 
			
		||||
      leave_dirs_open = false,
 | 
			
		||||
    },
 | 
			
		||||
    group_empty_dirs = false,
 | 
			
		||||
    hijack_netrw_behavior = 'open_default',
 | 
			
		||||
    use_libuv_file_watcher = false,
 | 
			
		||||
    commands = {
 | 
			
		||||
      avante_add_files = function(state)
 | 
			
		||||
        local node = state.tree:get_node()
 | 
			
		||||
        local filepath = node:get_id()
 | 
			
		||||
        local relative_path = require('avante.utils').relative_path(filepath)
 | 
			
		||||
        local sidebar = require('avante').get()
 | 
			
		||||
        local open = sidebar:is_open()
 | 
			
		||||
        if not open then
 | 
			
		||||
          require('avante.api').ask()
 | 
			
		||||
          sidebar = require('avante').get()
 | 
			
		||||
        end
 | 
			
		||||
        sidebar.file_selector:add_selected_file(relative_path)
 | 
			
		||||
        if not open then
 | 
			
		||||
          sidebar.file_selector:remove_selected_file('neo-tree filesystem [1]')
 | 
			
		||||
        end
 | 
			
		||||
  branch = 'v3.x',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'nvim-lua/plenary.nvim', },
 | 
			
		||||
    { 'MunifTanjim/nui.nvim', },
 | 
			
		||||
    { 'nvim-tree/nvim-web-devicons', },
 | 
			
		||||
    {
 | 
			
		||||
      'antosha417/nvim-lsp-file-operations',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'lsp-file-operations'.setup({})
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
    window = {
 | 
			
		||||
      mappings = {
 | 
			
		||||
        ['<bs>'] = 'navigate_up',
 | 
			
		||||
        ['.'] = 'set_root',
 | 
			
		||||
        ['H'] = 'toggle_hidden',
 | 
			
		||||
        ['/'] = 'fuzzy_finder',
 | 
			
		||||
        ['D'] = 'fuzzy_finder_directory',
 | 
			
		||||
        ['#'] = 'fuzzy_sorter',
 | 
			
		||||
        -- ['D'] = 'fuzzy_sorter_directory',
 | 
			
		||||
        ['f'] = 'filter_on_submit',
 | 
			
		||||
        ['<c-x>'] = 'clear_filter',
 | 
			
		||||
        ['[g'] = 'prev_git_modified',
 | 
			
		||||
        [']g'] = 'next_git_modified',
 | 
			
		||||
        ['o'] = {
 | 
			
		||||
          'show_help',
 | 
			
		||||
          nowait = false,
 | 
			
		||||
          config = { title = 'Order by', prefix_key = 'o' },
 | 
			
		||||
        },
 | 
			
		||||
        ['oa'] = 'avante_add_files',
 | 
			
		||||
        ['oc'] = { 'order_by_created', nowait = false },
 | 
			
		||||
        ['od'] = { 'order_by_diagnostics', nowait = false },
 | 
			
		||||
        ['og'] = { 'order_by_git_status', nowait = false },
 | 
			
		||||
        ['om'] = { 'order_by_modified', nowait = false },
 | 
			
		||||
        ['on'] = { 'order_by_name', nowait = false },
 | 
			
		||||
        ['os'] = { 'order_by_size', nowait = false },
 | 
			
		||||
        ['ot'] = { 'order_by_type', nowait = false },
 | 
			
		||||
      },
 | 
			
		||||
      fuzzy_finder_mappings = {
 | 
			
		||||
        ['<down>'] = 'move_cursor_down',
 | 
			
		||||
        ['<C-n>'] = 'move_cursor_down',
 | 
			
		||||
        ['<up>'] = 'move_cursor_up',
 | 
			
		||||
        ['<C-p>'] = 'move_cursor_up',
 | 
			
		||||
        ['<esc>'] = 'close',
 | 
			
		||||
      },
 | 
			
		||||
    { '3rd/image.nvim', },
 | 
			
		||||
    {
 | 
			
		||||
      's1n7ax/nvim-window-picker',
 | 
			
		||||
      version = '2.*',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'window-picker'.setup({})
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  buffers = {
 | 
			
		||||
    follow_current_file = {
 | 
			
		||||
      enabled = true,
 | 
			
		||||
      leave_dirs_open = false,
 | 
			
		||||
    },
 | 
			
		||||
    group_empty_dirs = true,
 | 
			
		||||
    show_unloaded = true,
 | 
			
		||||
    window = {
 | 
			
		||||
      mappings = {
 | 
			
		||||
        ['d'] = 'buffer_delete',
 | 
			
		||||
        ['bd'] = 'buffer_delete',
 | 
			
		||||
        ['<bs>'] = 'navigate_up',
 | 
			
		||||
        ['.'] = 'set_root',
 | 
			
		||||
        ['o'] = {
 | 
			
		||||
          'show_help',
 | 
			
		||||
          nowait = false,
 | 
			
		||||
          config = { title = 'Order by', prefix_key = 'o' },
 | 
			
		||||
        },
 | 
			
		||||
        ['oc'] = { 'order_by_created', nowait = false },
 | 
			
		||||
        ['od'] = { 'order_by_diagnostics', nowait = false },
 | 
			
		||||
        ['om'] = { 'order_by_modified', nowait = false },
 | 
			
		||||
        ['on'] = { 'order_by_name', nowait = false },
 | 
			
		||||
        ['os'] = { 'order_by_size', nowait = false },
 | 
			
		||||
        ['ot'] = { 'order_by_type', nowait = false },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  git_status = {
 | 
			
		||||
    window = {
 | 
			
		||||
      position = 'float',
 | 
			
		||||
      mappings = {
 | 
			
		||||
        ['A'] = 'git_add_all',
 | 
			
		||||
        ['gu'] = 'git_unstage_file',
 | 
			
		||||
        ['gU']  = 'git_undo_last_commit',
 | 
			
		||||
        ['ga'] = 'git_add_file',
 | 
			
		||||
        ['gr'] = 'git_revert_file',
 | 
			
		||||
        ['gc'] = 'git_commit',
 | 
			
		||||
        ['gp'] = 'git_push',
 | 
			
		||||
        ['gg'] = 'git_commit_and_push',
 | 
			
		||||
        ['o'] = {
 | 
			
		||||
          'show_help',
 | 
			
		||||
          nowait = false,
 | 
			
		||||
          config = { title = 'Order by', prefix_key = 'o' },
 | 
			
		||||
        },
 | 
			
		||||
        ['oc'] = { 'order_by_created', nowait = false },
 | 
			
		||||
        ['od'] = { 'order_by_diagnostics', nowait = false },
 | 
			
		||||
        ['om'] = { 'order_by_modified', nowait = false },
 | 
			
		||||
        ['on'] = { 'order_by_name', nowait = false },
 | 
			
		||||
        ['os'] = { 'order_by_size', nowait = false },
 | 
			
		||||
        ['ot'] = { 'order_by_type', nowait = false },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
-- Neotree
 | 
			
		||||
vim.keymap.set({'n', 'v', 'x' }, '<leader>t', ':Neotree toggle<CR>')
 | 
			
		||||
vim.keymap.set({'n', 'v', 'x' }, '<leader>T', ':Neotree focus<CR>')
 | 
			
		||||
  lazy = false,
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +0,0 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/preservim/nerdcommenter' }
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set({ 'n', 'v', 'x'}, '<leader>c', '<plug>NERDCommenterToggle')
 | 
			
		||||
							
								
								
									
										12
									
								
								configs/dotfiles/nvim/lua/plugins/nerdcomments.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								configs/dotfiles/nvim/lua/plugins/nerdcomments.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
return {
 | 
			
		||||
  'preservim/nerdcommenter',
 | 
			
		||||
  keys = {
 | 
			
		||||
    {
 | 
			
		||||
      '<leader>c',
 | 
			
		||||
      '<Plug>NERDCommenterToggle',
 | 
			
		||||
      mode = { 'n', 'v', 'x' },
 | 
			
		||||
      silent = true,
 | 
			
		||||
      desc = 'Toggle commenting line',
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,11 +1,15 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/folke/snacks.nvim' },
 | 
			
		||||
  { src = 'https://github.com/echasnovski/mini.icons' },
 | 
			
		||||
})
 | 
			
		||||
require'snacks'.setup({
 | 
			
		||||
  animate = { enabled = true },
 | 
			
		||||
  bigfile = { enabled = true },
 | 
			
		||||
  image = { enabled = true },
 | 
			
		||||
  indent = { enabled = true },
 | 
			
		||||
  scroll = { enabled = true },
 | 
			
		||||
})
 | 
			
		||||
return {
 | 
			
		||||
  'folke/snacks.nvim',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'echasnovski/mini.icons', },
 | 
			
		||||
  },
 | 
			
		||||
  config = function()
 | 
			
		||||
    require'snacks'.setup({
 | 
			
		||||
      animate = { enabled = true },
 | 
			
		||||
      bigfile = { enabled = true },
 | 
			
		||||
      image   = { enabled = true },
 | 
			
		||||
      indent  = { enabled = true },
 | 
			
		||||
      scroll  = { enabled = true },
 | 
			
		||||
    })
 | 
			
		||||
  end
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,31 +1,33 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  {
 | 
			
		||||
    src = 'https://github.com/nvim-telescope/telescope.nvim',
 | 
			
		||||
    version = vim.version.range('0.1'),
 | 
			
		||||
return {
 | 
			
		||||
  'nvim-telescope/telescope.nvim',
 | 
			
		||||
  tag = '0.1.8',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'nvim-lua/plenary.nvim', },
 | 
			
		||||
  },
 | 
			
		||||
  { src = 'https://github.com/nvim-lua/plenary.nvim' },
 | 
			
		||||
})
 | 
			
		||||
require'telescope'.setup({
 | 
			
		||||
  defaults = {
 | 
			
		||||
    file_ignore_patterns = {
 | 
			
		||||
      'node_modules',
 | 
			
		||||
      '.git',
 | 
			
		||||
      '.next',
 | 
			
		||||
      '.cache',
 | 
			
		||||
      '.DS_Store',
 | 
			
		||||
      '.venv',
 | 
			
		||||
      '.conda',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
local builtin = require'telescope.builtin'
 | 
			
		||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Find files' })
 | 
			
		||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, { desc = 'Find git files' })
 | 
			
		||||
vim.keymap.set(
 | 
			
		||||
  'n',
 | 
			
		||||
  '<leader>fs',
 | 
			
		||||
  function()
 | 
			
		||||
    builtin.grep_string({ search = vim.fn.input('Grep > ')})
 | 
			
		||||
  config = function()
 | 
			
		||||
    require'telescope'.setup({
 | 
			
		||||
      defaults = {
 | 
			
		||||
        file_ignore_patterns = {
 | 
			
		||||
          'node_modules',
 | 
			
		||||
          '.git',
 | 
			
		||||
          '.next',
 | 
			
		||||
          '.cache',
 | 
			
		||||
          '.DS_Store',
 | 
			
		||||
          '.venv',
 | 
			
		||||
          '.conda',
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
    local builtin = require'telescope.builtin'
 | 
			
		||||
    vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Find files' })
 | 
			
		||||
    vim.keymap.set('n', '<leader>fg', builtin.git_files, { desc = 'Find git files' })
 | 
			
		||||
    vim.keymap.set(
 | 
			
		||||
      'n',
 | 
			
		||||
      '<leader>fs',
 | 
			
		||||
      function()
 | 
			
		||||
        builtin.grep_string({ search = vim.fn.input('Grep > ')})
 | 
			
		||||
      end,
 | 
			
		||||
        { desc = 'Find string' }
 | 
			
		||||
    )
 | 
			
		||||
  end,
 | 
			
		||||
    { desc = 'Find string' }
 | 
			
		||||
)
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,84 +1,92 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  {
 | 
			
		||||
    src = 'https://github.com/nvim-treesitter/nvim-treesitter',
 | 
			
		||||
    version = 'master'
 | 
			
		||||
return {
 | 
			
		||||
  'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
  branch = 'master',
 | 
			
		||||
  lazy = false,
 | 
			
		||||
  build = ':TSUpdate',
 | 
			
		||||
  dependencies = {
 | 
			
		||||
    { 'nvim-treesitter/playground', },
 | 
			
		||||
    {
 | 
			
		||||
      'nvim-treesitter/nvim-treesitter-context',
 | 
			
		||||
      config = function()
 | 
			
		||||
        require'treesitter-context'.setup({
 | 
			
		||||
          enable = true,
 | 
			
		||||
          multiwindow = false,
 | 
			
		||||
          max_lines = 10,
 | 
			
		||||
          min_window_height = 0,
 | 
			
		||||
          line_numbers = true,
 | 
			
		||||
          multiline_threshold = 20,
 | 
			
		||||
          trim_scope = 'outer',
 | 
			
		||||
          mode = 'topline',
 | 
			
		||||
          separator = nil,
 | 
			
		||||
          zindex = 20,
 | 
			
		||||
          on_attach = nil,
 | 
			
		||||
        })
 | 
			
		||||
      end,
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  { src = 'https://github.com/nvim-treesitter/playground' },
 | 
			
		||||
  { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
 | 
			
		||||
})
 | 
			
		||||
require'nvim-treesitter.install'.update({ with_sync = true })()
 | 
			
		||||
require'nvim-treesitter.configs'.setup({
 | 
			
		||||
  ensure_installed = {
 | 
			
		||||
    'bash',
 | 
			
		||||
    'c',
 | 
			
		||||
    'cmake',
 | 
			
		||||
    'cpp',
 | 
			
		||||
    'css',
 | 
			
		||||
    'diff',
 | 
			
		||||
    'dockerfile',
 | 
			
		||||
    'git_config',
 | 
			
		||||
    'git_rebase',
 | 
			
		||||
    'gitattributes',
 | 
			
		||||
    'gitcommit',
 | 
			
		||||
    'gitignore',
 | 
			
		||||
    'html',
 | 
			
		||||
    'java',
 | 
			
		||||
    'javascript',
 | 
			
		||||
    'jsdoc',
 | 
			
		||||
    'json',
 | 
			
		||||
    'jsonc',
 | 
			
		||||
    'kotlin',
 | 
			
		||||
    'lua',
 | 
			
		||||
    'luadoc',
 | 
			
		||||
    'luap',
 | 
			
		||||
    'make',
 | 
			
		||||
    'markdown',
 | 
			
		||||
    'markdown_inline',
 | 
			
		||||
    'php',
 | 
			
		||||
    'printf',
 | 
			
		||||
    'python',
 | 
			
		||||
    'query',
 | 
			
		||||
    'regex',
 | 
			
		||||
    'rust',
 | 
			
		||||
    'scala',
 | 
			
		||||
    'sql',
 | 
			
		||||
    'svelte',
 | 
			
		||||
    'swift',
 | 
			
		||||
    'toml',
 | 
			
		||||
    'tsx',
 | 
			
		||||
    'typescript',
 | 
			
		||||
    'vim',
 | 
			
		||||
    'vimdoc',
 | 
			
		||||
    'xml',
 | 
			
		||||
    'yaml',
 | 
			
		||||
    'zig'
 | 
			
		||||
  },
 | 
			
		||||
  sync_install = false,
 | 
			
		||||
  auto_install = true,
 | 
			
		||||
  indent = { enable = true },
 | 
			
		||||
  highlight = {
 | 
			
		||||
    enable = true,
 | 
			
		||||
    disable = function(lang, buf)
 | 
			
		||||
        local max_filesize = 500 * 1024 -- 100 KB
 | 
			
		||||
        local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
 | 
			
		||||
        if ok and stats and stats.size > max_filesize then
 | 
			
		||||
            return true
 | 
			
		||||
        end
 | 
			
		||||
    end,
 | 
			
		||||
    additional_vim_regex_highlighting = false,
 | 
			
		||||
  },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
require'treesitter-context'.setup{
 | 
			
		||||
  enable = true,
 | 
			
		||||
  multiwindow = false,
 | 
			
		||||
  max_lines = 10,
 | 
			
		||||
  min_window_height = 0,
 | 
			
		||||
  line_numbers = true,
 | 
			
		||||
  multiline_threshold = 20,
 | 
			
		||||
  trim_scope = 'outer',
 | 
			
		||||
  mode = 'topline',
 | 
			
		||||
  separator = nil,
 | 
			
		||||
  zindex = 20,
 | 
			
		||||
  on_attach = nil,
 | 
			
		||||
  config = function()
 | 
			
		||||
    require'nvim-treesitter.install'.update({ with_sync = true })
 | 
			
		||||
    require'nvim-treesitter.configs'.setup({
 | 
			
		||||
      ensure_installed = {
 | 
			
		||||
        'bash',
 | 
			
		||||
        'c',
 | 
			
		||||
        'cmake',
 | 
			
		||||
        'cpp',
 | 
			
		||||
        'css',
 | 
			
		||||
        'diff',
 | 
			
		||||
        'dockerfile',
 | 
			
		||||
        'git_config',
 | 
			
		||||
        'git_rebase',
 | 
			
		||||
        'gitattributes',
 | 
			
		||||
        'gitcommit',
 | 
			
		||||
        'gitignore',
 | 
			
		||||
        'html',
 | 
			
		||||
        'java',
 | 
			
		||||
        'javascript',
 | 
			
		||||
        'jsdoc',
 | 
			
		||||
        'json',
 | 
			
		||||
        'jsonc',
 | 
			
		||||
        'kotlin',
 | 
			
		||||
        'latex',
 | 
			
		||||
        'lua',
 | 
			
		||||
        'luadoc',
 | 
			
		||||
        'luap',
 | 
			
		||||
        'make',
 | 
			
		||||
        'markdown',
 | 
			
		||||
        'markdown_inline',
 | 
			
		||||
        'php',
 | 
			
		||||
        'printf',
 | 
			
		||||
        'python',
 | 
			
		||||
        'query',
 | 
			
		||||
        'regex',
 | 
			
		||||
        'rust',
 | 
			
		||||
        'scala',
 | 
			
		||||
        'sql',
 | 
			
		||||
        'svelte',
 | 
			
		||||
        'swift',
 | 
			
		||||
        'toml',
 | 
			
		||||
        'tsx',
 | 
			
		||||
        'typescript',
 | 
			
		||||
        'vim',
 | 
			
		||||
        'vimdoc',
 | 
			
		||||
        'xml',
 | 
			
		||||
        'yaml',
 | 
			
		||||
        'zig'
 | 
			
		||||
      },
 | 
			
		||||
      sync_install = false,
 | 
			
		||||
      auto_install = true,
 | 
			
		||||
      indent = { enable = true },
 | 
			
		||||
      highlight = {
 | 
			
		||||
        enable = true,
 | 
			
		||||
        disable = function(lang, buf)
 | 
			
		||||
            local max_filesize = 500 * 1024 -- 100 KB
 | 
			
		||||
            local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
 | 
			
		||||
            if ok and stats and stats.size > max_filesize then
 | 
			
		||||
                return true
 | 
			
		||||
            end
 | 
			
		||||
        end,
 | 
			
		||||
        additional_vim_regex_highlighting = false,
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
  end,
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,19 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/folke/trouble.nvim.git' },
 | 
			
		||||
})
 | 
			
		||||
vim.api.nvim_create_user_command('Trouble', function()
 | 
			
		||||
  require("trouble").open()
 | 
			
		||||
end, { desc = "Open Trouble" })
 | 
			
		||||
vim.keymap.set({'n'}, '<leader>x', ':Trouble diagnostics toggle')
 | 
			
		||||
return {
 | 
			
		||||
  'folke/trouble.nvim',
 | 
			
		||||
  config = function()
 | 
			
		||||
    require('trouble').setup({})
 | 
			
		||||
    vim.api.nvim_create_user_command('Trouble', function()
 | 
			
		||||
      require('trouble').open()
 | 
			
		||||
    end, { desc = 'Open Trouble' })
 | 
			
		||||
  end,
 | 
			
		||||
  keys = {
 | 
			
		||||
    {
 | 
			
		||||
      '<leader>x',
 | 
			
		||||
      ':Trouble diagnostics toggle<CR>',
 | 
			
		||||
      mode = 'n',
 | 
			
		||||
      silent = true,
 | 
			
		||||
      desc = 'Toggle Trouble',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,12 @@
 | 
			
		||||
vim.pack.add({
 | 
			
		||||
  { src = 'https://github.com/mbbill/undotree' },
 | 
			
		||||
})
 | 
			
		||||
vim.keymap.set({'n'}, '<leader>u', ':UndotreeToggle<CR>')
 | 
			
		||||
return {
 | 
			
		||||
  'mbbill/undotree',
 | 
			
		||||
  keys = {
 | 
			
		||||
    {
 | 
			
		||||
      '<leader>u',
 | 
			
		||||
      ':UndotreeToggle<CR>',
 | 
			
		||||
      mode = { 'n' },
 | 
			
		||||
      silent = true,
 | 
			
		||||
      desc = 'Toggle undo tree',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user