feat: Migrate to lua + kitty
This commit is contained in:
parent
f8e33ed3d0
commit
36a7d55e71
28 changed files with 1112 additions and 1337 deletions
57
.tmux.conf
57
.tmux.conf
|
@ -1,57 +0,0 @@
|
|||
# Set the prefix to `ctrl + a` instead of `ctrl + b`
|
||||
unbind C-b
|
||||
set-option -g prefix C-a
|
||||
bind-key C-a send-prefix
|
||||
|
||||
# Automatically set window title
|
||||
set-window-option -g automatic-rename on
|
||||
set-option -g set-titles on
|
||||
|
||||
# Use | and - to split a window vertically and horizontally instead of " and % respoectively
|
||||
unbind '"'
|
||||
unbind %
|
||||
bind | split-window -h -c "#{pane_current_path}"
|
||||
bind - split-window -v -c "#{pane_current_path}"
|
||||
|
||||
# Vim Navigation
|
||||
is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
|
||||
|
||||
is_fzf="ps -o state= -o comm= -t '#{pane_tty}' \
|
||||
| grep -iqE '^[^TXZ ]+ +(\\S+\\/)?fzf$'"
|
||||
|
||||
bind -n C-h run "($is_vim && tmux send-keys C-h) || \
|
||||
tmux select-pane -L"
|
||||
|
||||
bind -n C-j run "($is_vim && tmux send-keys C-j) || \
|
||||
($is_fzf && tmux send-keys C-j) || \
|
||||
tmux select-pane -D"
|
||||
|
||||
bind -n C-k run "($is_vim && tmux send-keys C-k) || \
|
||||
($is_fzf && tmux send-keys C-k) || \
|
||||
tmux select-pane -U"
|
||||
|
||||
bind -n C-l run "($is_vim && tmux send-keys C-l) || \
|
||||
tmux select-pane -R"
|
||||
|
||||
# This tmux statusbar config was created by tmuxline.vim
|
||||
# on Mon, 28 Nov 2022
|
||||
|
||||
set -g status-justify "left"
|
||||
set -g status "on"
|
||||
set -g status-left-style "none"
|
||||
set -g message-command-style "fg=#eeffff,bg=#2c3b41"
|
||||
set -g status-right-style "none"
|
||||
set -g pane-active-border-style "fg=#89ddff"
|
||||
set -g status-style "none,bg=#37474f"
|
||||
set -g message-style "fg=#eeffff,bg=#2c3b41"
|
||||
set -g pane-border-style "fg=#2c3b41"
|
||||
set -g status-right-length "100"
|
||||
set -g status-left-length "100"
|
||||
setw -g window-status-activity-style "none"
|
||||
setw -g window-status-separator ""
|
||||
setw -g window-status-style "none,fg=#eeffff,bg=#37474f"
|
||||
set -g status-left "#[fg=#1a2327,bg=#89ddff,bold] #S #[fg=#89ddff,bg=#37474f,nobold,nounderscore,noitalics]"
|
||||
set -g status-right "#[fg=#2c3b41,bg=#37474f,nobold,nounderscore,noitalics]#[fg=#eeffff,bg=#2c3b41] ☸ #(kubectl config current-context) #T #[fg=#89ddff,bg=#2c3b41,nobold,nounderscore,noitalics]#[fg=#1a2327,bg=#89ddff] #h "
|
||||
setw -g window-status-format "#[fg=#eeffff,bg=#37474f] #I #[fg=#eeffff,bg=#37474f] #W "
|
||||
setw -g window-status-current-format "#[fg=#37474f,bg=#2c3b41,nobold,nounderscore,noitalics]#[fg=#eeffff,bg=#2c3b41] #I #[fg=#eeffff,bg=#2c3b41] #W #[fg=#2c3b41,bg=#37474f,nobold,nounderscore,noitalics]"
|
895
alacritty.yml
895
alacritty.yml
|
@ -1,895 +0,0 @@
|
|||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||
|
||||
# Import additional configuration files
|
||||
#
|
||||
# Imports are loaded in order, skipping all missing files, with the importing
|
||||
# file being loaded last. If a field is already present in a previous import, it
|
||||
# will be replaced.
|
||||
#
|
||||
# All imports must either be absolute paths starting with `/`, or paths relative
|
||||
# to the user's home directory starting with `~/`.
|
||||
import:
|
||||
- ~/.alacritty-colorscheme/themes/tokyo-night-storm.yaml
|
||||
|
||||
# Any items in the `env` entry below will be added as
|
||||
# environment variables. Some entries may override variables
|
||||
# set by alacritty itself.
|
||||
env:
|
||||
# TERM variable
|
||||
#
|
||||
# This value is used to set the `$TERM` environment variable for
|
||||
# each instance of Alacritty. If it is not present, alacritty will
|
||||
# check the local terminfo database and use `alacritty` if it is
|
||||
# available, otherwise `xterm-256color` is used.
|
||||
TERM: xterm-256color
|
||||
|
||||
window:
|
||||
# Window dimensions (changes require restart)
|
||||
#
|
||||
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
|
||||
# must be non-zero for this to take effect. The number of columns must be at
|
||||
# least `2`, while using a value of `0` for columns and lines will fall back
|
||||
# to the window manager's recommended size
|
||||
#dimensions:
|
||||
#columns: 0
|
||||
#lines: 0
|
||||
|
||||
# Window position (changes require restart)
|
||||
#
|
||||
# Specified in number of pixels.
|
||||
# If the position is not set, the window manager will handle the placement.
|
||||
#position:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Window padding (changes require restart)
|
||||
#
|
||||
# Blank space added around the window in pixels. This padding is scaled
|
||||
# by DPI and the specified value is always added at both opposing sides.
|
||||
#padding:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
# dynamic_padding: true
|
||||
|
||||
# Window decorations
|
||||
#
|
||||
# Values for `decorations`:
|
||||
# - full: Borders and title bar
|
||||
# - none: Neither borders nor title bar
|
||||
#
|
||||
# Values for `decorations` (macOS only):
|
||||
# - transparent: Title bar, transparent background and title bar buttons
|
||||
# - buttonless: Title bar, transparent background and no title bar buttons
|
||||
decorations: none
|
||||
|
||||
# Background opacity
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
#opacity: 1.0
|
||||
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
# - Windowed
|
||||
# - Maximized
|
||||
# - Fullscreen
|
||||
#
|
||||
# Values for `startup_mode` (macOS only):
|
||||
# - SimpleFullscreen
|
||||
#startup_mode: Windowed
|
||||
|
||||
# Window title
|
||||
title: "早上好中國,我很喜歡冰淇淋"
|
||||
|
||||
# Allow terminal applications to change Alacritty's window title.
|
||||
dynamic_title: true
|
||||
|
||||
# Window class (Linux/BSD only):
|
||||
#class:
|
||||
# Application instance name
|
||||
#instance: Alacritty
|
||||
# General application class
|
||||
#general: Alacritty
|
||||
|
||||
# Decorations theme variant (Linux/BSD only)
|
||||
#
|
||||
# Override the variant of the GTK theme/Wayland client side decorations.
|
||||
# Commonly supported values are `dark` and `light`. Set this to `None` to use
|
||||
# the default theme variant.
|
||||
#decorations_theme_variant: None
|
||||
|
||||
#scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
#history: 10000
|
||||
|
||||
# Scrolling distance multiplier.
|
||||
#multiplier: 3
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
family: "Hack Nerd Font Mono"
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Regular
|
||||
|
||||
# Bold font face
|
||||
bold:
|
||||
# Font family
|
||||
#
|
||||
# If the bold family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
family: "Hack Nerd Font Mono"
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold
|
||||
|
||||
# Italic font face
|
||||
italic:
|
||||
# Font family
|
||||
#
|
||||
# If the italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
family: "Hack Nerd Font Mono"
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Italic
|
||||
|
||||
# Bold italic font face
|
||||
bold_italic:
|
||||
# Font family
|
||||
#
|
||||
# If the bold italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
family: "Hack Nerd Font Mono"
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 15
|
||||
|
||||
# Offset is the extra space around each character. `offset.y` can be thought
|
||||
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||
# spacing.
|
||||
#offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Glyph offset determines the locations of the glyphs within their cells with
|
||||
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||
# right, increasing `y` moves the glyph upward.
|
||||
#glyph_offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Use built-in font for box drawing characters.
|
||||
#
|
||||
# If `true`, Alacritty will use a custom built-in font for box drawing
|
||||
# characters (Unicode points 2500 - 259f).
|
||||
#
|
||||
#builtin_box_drawing: true
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
#draw_bold_text_with_bright_colors: false
|
||||
|
||||
# Colors (Tomorrow Night)
|
||||
#colors:
|
||||
# Default colors
|
||||
#primary:
|
||||
# background: '#1d1f21'
|
||||
# foreground: '#c5c8c6'
|
||||
|
||||
# Bright and dim foreground colors
|
||||
#
|
||||
# The dimmed foreground color is calculated automatically if it is not
|
||||
# present. If the bright foreground color is not set, or
|
||||
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||
# color will be used.
|
||||
#dim_foreground: '#828482'
|
||||
#bright_foreground: '#eaeaea'
|
||||
|
||||
# Cursor colors
|
||||
#
|
||||
# Colors which should be used to draw the terminal cursor.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
|
||||
# Vi mode cursor colors
|
||||
#
|
||||
# Colors for the cursor when the vi mode is active.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#vi_mode_cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
|
||||
# Search colors
|
||||
#
|
||||
# Colors used for the search bar and match highlighting.
|
||||
#search:
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#matches:
|
||||
# foreground: '#000000'
|
||||
# background: '#ffffff'
|
||||
#focused_match:
|
||||
# foreground: '#ffffff'
|
||||
# background: '#000000'
|
||||
|
||||
# Keyboard hints
|
||||
#hints:
|
||||
# First character in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#start:
|
||||
# foreground: '#1d1f21'
|
||||
# background: '#e9ff5e'
|
||||
|
||||
# All characters after the first one in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#end:
|
||||
# foreground: '#e9ff5e'
|
||||
# background: '#1d1f21'
|
||||
|
||||
# Line indicator
|
||||
#
|
||||
# Color used for the indicator displaying the position in history during
|
||||
# search and vi mode.
|
||||
#
|
||||
# By default, these will use the opposing primary color.
|
||||
#line_indicator:
|
||||
# foreground: None
|
||||
# background: None
|
||||
|
||||
# Footer bar
|
||||
#
|
||||
# Color used for the footer bar on the bottom, used by search regex input,
|
||||
# hyperlink URI preview, etc.
|
||||
#
|
||||
#footer_bar:
|
||||
# background: '#c5c8c6'
|
||||
# foreground: '#1d1f21'
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#selection:
|
||||
# text: CellBackground
|
||||
# background: CellForeground
|
||||
|
||||
# Normal colors
|
||||
#normal:
|
||||
# black: '#1d1f21'
|
||||
# red: '#cc6666'
|
||||
# green: '#b5bd68'
|
||||
# yellow: '#f0c674'
|
||||
# blue: '#81a2be'
|
||||
# magenta: '#b294bb'
|
||||
# cyan: '#8abeb7'
|
||||
# white: '#c5c8c6'
|
||||
|
||||
# Bright colors
|
||||
#bright:
|
||||
# black: '#666666'
|
||||
# red: '#d54e53'
|
||||
# green: '#b9ca4a'
|
||||
# yellow: '#e7c547'
|
||||
# blue: '#7aa6da'
|
||||
# magenta: '#c397d8'
|
||||
# cyan: '#70c0b1'
|
||||
# white: '#eaeaea'
|
||||
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
#dim:
|
||||
# black: '#131415'
|
||||
# red: '#864343'
|
||||
# green: '#777c44'
|
||||
# yellow: '#9e824c'
|
||||
# blue: '#556a7d'
|
||||
# magenta: '#75617b'
|
||||
# cyan: '#5b7d78'
|
||||
# white: '#828482'
|
||||
|
||||
# Indexed Colors
|
||||
#
|
||||
# The indexed colors include all colors from 16 to 256.
|
||||
# When these are not set, they're filled with sensible defaults.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '#ff00ff' }`
|
||||
#
|
||||
#indexed_colors: []
|
||||
|
||||
# Transparent cell backgrounds
|
||||
#
|
||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||
# the default background. When set to `true` all cells will be transparent
|
||||
# regardless of their background color.
|
||||
#transparent_background_colors: false
|
||||
|
||||
# Bell
|
||||
#
|
||||
# The bell is rung every time the BEL control character is received.
|
||||
#bell:
|
||||
# Visual Bell Animation
|
||||
#
|
||||
# Animation effect for flashing the screen when the visual bell is rung.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#animation: EaseOutExpo
|
||||
|
||||
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||
# disable the visual bell animation.
|
||||
#duration: 0
|
||||
|
||||
# Visual bell animation color.
|
||||
#color: '#ffffff'
|
||||
|
||||
# Bell Command
|
||||
#
|
||||
# This program is executed whenever the bell is rung.
|
||||
#
|
||||
# When set to `command: None`, no command will be executed.
|
||||
#
|
||||
# Example:
|
||||
# command:
|
||||
# program: notify-send
|
||||
# args: ["Hello, World!"]
|
||||
#
|
||||
#command: None
|
||||
|
||||
#selection:
|
||||
# This string contains all characters that are used as separators for
|
||||
# "semantic words" in Alacritty.
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#style:
|
||||
# Cursor shape
|
||||
#
|
||||
# Values for `shape`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#shape: Block
|
||||
|
||||
# Cursor blinking state
|
||||
#
|
||||
# Values for `blinking`:
|
||||
# - Never: Prevent the cursor from ever blinking
|
||||
# - Off: Disable blinking by default
|
||||
# - On: Enable blinking by default
|
||||
# - Always: Force the cursor to always blink
|
||||
#blinking: Off
|
||||
|
||||
# Vi mode cursor style
|
||||
#
|
||||
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||
# the style of the active value of the normal cursor.
|
||||
#
|
||||
# See `cursor.style` for available options.
|
||||
#vi_mode_style: None
|
||||
|
||||
# Cursor blinking interval in milliseconds.
|
||||
#blink_interval: 750
|
||||
|
||||
# Time after which cursor stops blinking, in seconds.
|
||||
#
|
||||
# Specifying '0' will disable timeout for blinking.
|
||||
#blink_timeout: 5
|
||||
|
||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||
# window is not focused.
|
||||
#unfocused_hollow: true
|
||||
|
||||
# Thickness of the cursor relative to the cell width as floating point number
|
||||
# from `0.0` to `1.0`.
|
||||
#thickness: 0.15
|
||||
|
||||
# Live config reload (changes require restart)
|
||||
#live_config_reload: true
|
||||
|
||||
# Shell
|
||||
#
|
||||
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||
# shell.
|
||||
#
|
||||
# Default:
|
||||
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
||||
# - (Windows) powershell
|
||||
# shell:
|
||||
# program: /usr/local/bin/fish
|
||||
# args:
|
||||
# - --login
|
||||
|
||||
# Startup directory
|
||||
#
|
||||
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||
# directory of the parent process will be used.
|
||||
#working_directory: None
|
||||
|
||||
# Send ESC (\x1b) before characters when alt is pressed.
|
||||
#alt_send_esc: true
|
||||
|
||||
# Offer IPC using `alacritty msg` (unix only)
|
||||
#ipc_socket: true
|
||||
|
||||
#mouse:
|
||||
# Click settings
|
||||
#
|
||||
# The `double_click` and `triple_click` settings control the time
|
||||
# alacritty should wait for accepting multiple clicks as one double
|
||||
# or triple click.
|
||||
#double_click: { threshold: 300 }
|
||||
#triple_click: { threshold: 300 }
|
||||
|
||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||
#hide_when_typing: false
|
||||
|
||||
# Hints
|
||||
#
|
||||
# Terminal hints can be used to find text or hyperlink in the visible part of
|
||||
# the terminal and pipe it to other applications.
|
||||
#hints:
|
||||
# Keys used for the hint labels.
|
||||
#alphabet: "jfkdls;ahgurieowpq"
|
||||
|
||||
# List with all available hints
|
||||
#
|
||||
# Each hint must have any of `regex` or `hyperlinks` field and either an
|
||||
# `action` or a `command` field. The fields `mouse`, `binding` and
|
||||
# `post_processing` are optional.
|
||||
#
|
||||
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
||||
# highlighted.
|
||||
#
|
||||
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||
#
|
||||
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||
#
|
||||
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||
# shorten the match if there are characters likely not to be part of the hint
|
||||
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
|
||||
# `regex` matches.
|
||||
#
|
||||
# Values for `action`:
|
||||
# - Copy
|
||||
# Copy the hint's text to the clipboard.
|
||||
# - Paste
|
||||
# Paste the hint's text to the terminal or search.
|
||||
# - Select
|
||||
# Select the hint's text.
|
||||
# - MoveViModeCursor
|
||||
# Move the vi mode cursor to the beginning of the hint.
|
||||
#enabled:
|
||||
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||
# hyperlinks: true
|
||||
# command: xdg-open
|
||||
# post_processing: true
|
||||
# mouse:
|
||||
# enabled: true
|
||||
# mods: None
|
||||
# binding:
|
||||
# key: U
|
||||
# mods: Control|Shift
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Mouse bindings are specified as a list of objects, much like the key
|
||||
# bindings further below.
|
||||
#
|
||||
# To trigger mouse bindings when an application running within Alacritty
|
||||
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||
# requirement.
|
||||
#
|
||||
# Each mouse binding will specify a:
|
||||
#
|
||||
# - `mouse`:
|
||||
#
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# - `action` (see key bindings for actions not exclusive to mouse mode)
|
||||
#
|
||||
# - Mouse exclusive actions:
|
||||
#
|
||||
# - ExpandSelection
|
||||
# Expand the selection to the current mouse cursor location.
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods` (see key bindings)
|
||||
#mouse_bindings:
|
||||
# - { mouse: Right, action: ExpandSelection }
|
||||
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
||||
|
||||
# Key bindings
|
||||
#
|
||||
# Key bindings are specified as a list of objects. For example, this is the
|
||||
# default paste binding:
|
||||
#
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
#
|
||||
# Each key binding will specify a:
|
||||
#
|
||||
# - `key`: Identifier of the key pressed
|
||||
#
|
||||
# - A-Z
|
||||
# - F1-F24
|
||||
# - Key0-Key9
|
||||
#
|
||||
# A full list with available key codes can be found here:
|
||||
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||
#
|
||||
# Instead of using the name of the keys, the `key` field also supports using
|
||||
# the scancode of the desired key. Scancodes have to be specified as a
|
||||
# decimal number. This command will allow you to display the hex scancodes
|
||||
# for certain keys:
|
||||
#
|
||||
# `showkey --scancodes`.
|
||||
#
|
||||
# Then exactly one of:
|
||||
#
|
||||
# - `chars`: Send a byte sequence to the running application
|
||||
#
|
||||
# The `chars` field writes the specified string to the terminal. This makes
|
||||
# it possible to pass escape sequences. To find escape codes for bindings
|
||||
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||
# to keys. It is therefore required to update the terminfo when changing an
|
||||
# escape sequence.
|
||||
#
|
||||
# - `action`: Execute a predefined action
|
||||
#
|
||||
# - ToggleViMode
|
||||
# - SearchForward
|
||||
# Start searching toward the right of the search origin.
|
||||
# - SearchBackward
|
||||
# Start searching toward the left of the search origin.
|
||||
# - Copy
|
||||
# - Paste
|
||||
# - IncreaseFontSize
|
||||
# - DecreaseFontSize
|
||||
# - ResetFontSize
|
||||
# - ScrollPageUp
|
||||
# - ScrollPageDown
|
||||
# - ScrollHalfPageUp
|
||||
# - ScrollHalfPageDown
|
||||
# - ScrollLineUp
|
||||
# - ScrollLineDown
|
||||
# - ScrollToTop
|
||||
# - ScrollToBottom
|
||||
# - ClearHistory
|
||||
# Remove the terminal's scrollback history.
|
||||
# - Hide
|
||||
# Hide the Alacritty window.
|
||||
# - Minimize
|
||||
# Minimize the Alacritty window.
|
||||
# - Quit
|
||||
# Quit Alacritty.
|
||||
# - ToggleFullscreen
|
||||
# - SpawnNewInstance
|
||||
# Spawn a new instance of Alacritty.
|
||||
# - CreateNewWindow
|
||||
# Create a new Alacritty window from the current process.
|
||||
# - ClearLogNotice
|
||||
# Clear Alacritty's UI warning and error notice.
|
||||
# - ClearSelection
|
||||
# Remove the active selection.
|
||||
# - ReceiveChar
|
||||
# - None
|
||||
#
|
||||
# - Vi mode exclusive actions:
|
||||
#
|
||||
# - Open
|
||||
# Perform the action of the first matching hint under the vi mode cursor
|
||||
# with `mouse.enabled` set to `true`.
|
||||
# - ToggleNormalSelection
|
||||
# - ToggleLineSelection
|
||||
# - ToggleBlockSelection
|
||||
# - ToggleSemanticSelection
|
||||
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||
# - CenterAroundViCursor
|
||||
# Center view around vi mode cursor
|
||||
#
|
||||
# - Vi mode exclusive cursor motion actions:
|
||||
#
|
||||
# - Up
|
||||
# One line up.
|
||||
# - Down
|
||||
# One line down.
|
||||
# - Left
|
||||
# One character left.
|
||||
# - Right
|
||||
# One character right.
|
||||
# - First
|
||||
# First column, or beginning of the line when already at the first column.
|
||||
# - Last
|
||||
# Last column, or beginning of the line when already at the last column.
|
||||
# - FirstOccupied
|
||||
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||
# the line when already at the first cell of the row.
|
||||
# - High
|
||||
# Top of the screen.
|
||||
# - Middle
|
||||
# Center of the screen.
|
||||
# - Low
|
||||
# Bottom of the screen.
|
||||
# - SemanticLeft
|
||||
# Start of the previous semantically separated word.
|
||||
# - SemanticRight
|
||||
# Start of the next semantically separated word.
|
||||
# - SemanticLeftEnd
|
||||
# End of the previous semantically separated word.
|
||||
# - SemanticRightEnd
|
||||
# End of the next semantically separated word.
|
||||
# - WordLeft
|
||||
# Start of the previous whitespace separated word.
|
||||
# - WordRight
|
||||
# Start of the next whitespace separated word.
|
||||
# - WordLeftEnd
|
||||
# End of the previous whitespace separated word.
|
||||
# - WordRightEnd
|
||||
# End of the next whitespace separated word.
|
||||
# - Bracket
|
||||
# Character matching the bracket at the cursor's location.
|
||||
# - SearchNext
|
||||
# Beginning of the next match.
|
||||
# - SearchPrevious
|
||||
# Beginning of the previous match.
|
||||
# - SearchStart
|
||||
# Start of the match to the left of the vi mode cursor.
|
||||
# - SearchEnd
|
||||
# End of the match to the right of the vi mode cursor.
|
||||
#
|
||||
# - Search mode exclusive actions:
|
||||
# - SearchFocusNext
|
||||
# Move the focus to the next search match.
|
||||
# - SearchFocusPrevious
|
||||
# Move the focus to the previous search match.
|
||||
# - SearchConfirm
|
||||
# - SearchCancel
|
||||
# - SearchClear
|
||||
# Reset the search regex.
|
||||
# - SearchDeleteWord
|
||||
# Delete the last word in the search regex.
|
||||
# - SearchHistoryPrevious
|
||||
# Go to the previous regex in the search history.
|
||||
# - SearchHistoryNext
|
||||
# Go to the next regex in the search history.
|
||||
#
|
||||
# - macOS exclusive actions:
|
||||
# - ToggleSimpleFullscreen
|
||||
# Enter fullscreen without occupying another space.
|
||||
#
|
||||
# - Linux/BSD exclusive actions:
|
||||
#
|
||||
# - CopySelection
|
||||
# Copy from the selection buffer.
|
||||
# - PasteSelection
|
||||
# Paste from the selection buffer.
|
||||
#
|
||||
# - `command`: Fork and execute a specified command plus arguments
|
||||
#
|
||||
# The `command` field must be a map containing a `program` string and an
|
||||
# `args` array of command line parameter strings. For example:
|
||||
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods`: Key modifiers to filter binding actions
|
||||
#
|
||||
# - Command
|
||||
# - Control
|
||||
# - Option
|
||||
# - Super
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# Multiple `mods` can be combined using `|` like this:
|
||||
# `mods: Control|Shift`.
|
||||
# Whitespace and capitalization are relevant and must match the example.
|
||||
#
|
||||
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||
#
|
||||
# This is mainly used to send applications the correct escape sequences
|
||||
# when in different modes.
|
||||
#
|
||||
# - AppCursor
|
||||
# - AppKeypad
|
||||
# - Search
|
||||
# - Alt
|
||||
# - Vi
|
||||
#
|
||||
# A `~` operator can be used before a mode to apply the binding whenever
|
||||
# the mode is *not* active, e.g. `~Alt`.
|
||||
#
|
||||
# Bindings are always filled by default, but will be replaced when a new
|
||||
# binding with the same triggers is defined. To unset a default binding, it can
|
||||
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||
# a no-op if you do not wish to receive input characters for that binding.
|
||||
#
|
||||
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||
# in the order they were defined in.
|
||||
#key_bindings:
|
||||
#- { key: Paste, action: Paste }
|
||||
#- { key: Copy, action: Copy }
|
||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||
|
||||
# Vi Mode
|
||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
||||
#- { key: K, mode: Vi|~Search, action: Up }
|
||||
#- { key: J, mode: Vi|~Search, action: Down }
|
||||
#- { key: H, mode: Vi|~Search, action: Left }
|
||||
#- { key: L, mode: Vi|~Search, action: Right }
|
||||
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||
|
||||
# Search Mode
|
||||
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||
|
||||
# (Windows, Linux, and BSD only)
|
||||
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||
#- { key: C, mods: Control|Shift, action: Copy }
|
||||
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||
|
||||
#debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
#render_timer: false
|
||||
|
||||
# Keep the log file after quitting Alacritty.
|
||||
#persistent_logging: false
|
||||
|
||||
# Log level
|
||||
#
|
||||
# Values for `log_level`:
|
||||
# - Off
|
||||
# - Error
|
||||
# - Warn
|
||||
# - Info
|
||||
# - Debug
|
||||
# - Trace
|
||||
#log_level: Warn
|
||||
|
||||
# Print all received window events.
|
||||
#print_events: false
|
||||
|
||||
# Highlight window damage information.
|
||||
#highlight_damage: false
|
|
@ -1,56 +0,0 @@
|
|||
{
|
||||
"diagnostic.checkCurrentLine": true,
|
||||
"eslint.autoFixOnSave": false,
|
||||
"eslint.filetypes": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
|
||||
"prettier.disableSuccessMessage": true,
|
||||
"coc.preferences.diagnostic.virtualText": true,
|
||||
"coc.preferences.rootPatterns": [".git"," poetry.lock"," package-lock.json"],
|
||||
"coc.preferences.formatOnSaveFiletypes": [
|
||||
"html",
|
||||
"typescript",
|
||||
"javascriptreact",
|
||||
"typescriptreact",
|
||||
"json",
|
||||
"graphql",
|
||||
"handlebars",
|
||||
"tf",
|
||||
"ts",
|
||||
"terraform",
|
||||
"go",
|
||||
"python",
|
||||
"cpp"
|
||||
],
|
||||
"tsserver.formatOnType": false,
|
||||
"coc.preferences.formatOnType": false,
|
||||
"languageserver": {
|
||||
"terraform": {
|
||||
"command": "terraform-ls",
|
||||
"args": ["serve"],
|
||||
"filetypes": [
|
||||
"terraform",
|
||||
"tf"
|
||||
],
|
||||
"initializationOptions": {},
|
||||
"settings": {}
|
||||
},
|
||||
"golang": {
|
||||
"command": "gopls",
|
||||
"rootPatterns":["go.mod"],
|
||||
"filetypes":["go"]
|
||||
}
|
||||
},
|
||||
"yaml.schemas": {
|
||||
"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json": "**/docker-compose*.y*ml"
|
||||
},
|
||||
"python": {
|
||||
"formatting": {
|
||||
"provider": "none"
|
||||
},
|
||||
"poetryPath": "poetry",
|
||||
"pythonPath": "python",
|
||||
"venvPath": ".venv"
|
||||
},
|
||||
"ruff": {
|
||||
"enable": true
|
||||
}
|
||||
}
|
329
init.vim
329
init.vim
|
@ -1,329 +0,0 @@
|
|||
set number
|
||||
set relativenumber
|
||||
set nofoldenable
|
||||
set autoindent
|
||||
|
||||
" coc.nvim Setup
|
||||
set cmdheight=2
|
||||
set updatetime=1000
|
||||
|
||||
" don't use arrowkeys
|
||||
noremap <Up> <NOP>
|
||||
noremap <Down> <NOP>
|
||||
noremap <Left> <NOP>
|
||||
noremap <Right> <NOP>
|
||||
|
||||
" really, just don't
|
||||
inoremap <Up> <NOP>
|
||||
inoremap <Down> <NOP>
|
||||
inoremap <Left> <NOP>
|
||||
inoremap <Right> <NOP>
|
||||
|
||||
call plug#begin("~/.vim/plugged")
|
||||
Plug 'scrooloose/nerdtree'
|
||||
Plug 'Xuyuanp/nerdtree-git-plugin'
|
||||
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||
|
||||
Plug 'airblade/vim-gitgutter' " Show git diff of lines edited
|
||||
Plug 'tpope/vim-fugitive' " :Gblame
|
||||
Plug 'tpope/vim-rhubarb' " :GBrowse
|
||||
Plug 'vim-airline/vim-airline'
|
||||
Plug 'vim-airline/vim-airline-themes'
|
||||
Plug 'edkolev/tmuxline.vim' " vim-airline compatible tmux bar
|
||||
|
||||
Plug 'tpope/vim-endwise' " Autocomplete end after a do
|
||||
Plug 'mileszs/ack.vim' " Use ack in Vim
|
||||
|
||||
Plug 'pangloss/vim-javascript' " JavaScript support
|
||||
Plug 'leafgarland/typescript-vim' " TypeScript syntax
|
||||
Plug 'peitalin/vim-jsx-typescript'
|
||||
Plug 'maxmellon/vim-jsx-pretty' " JS and JSX syntax
|
||||
Plug 'jparise/vim-graphql' " GraphQL syntax
|
||||
Plug 'styled-components/vim-styled-components'
|
||||
|
||||
Plug 'Yggdroot/indentLine' " Indentation Lines
|
||||
|
||||
Plug 'APZelos/blamer.nvim' " Git Blame
|
||||
|
||||
Plug 'kaicataldo/material.vim'
|
||||
|
||||
" Telescope installation
|
||||
Plug 'nvim-lua/plenary.nvim'
|
||||
Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.4' }
|
||||
Plug 'nvim-treesitter/nvim-treesitter', { 'do': ':TSUpdate' }
|
||||
|
||||
Plug 'christoomey/vim-tmux-navigator' " What it says
|
||||
|
||||
Plug 'godlygeek/tabular' " Vim Markdown
|
||||
Plug 'preservim/vim-markdown'
|
||||
|
||||
Plug 'editorconfig/editorconfig-vim' " Keep editors consistent
|
||||
|
||||
Plug 'fatih/vim-go'
|
||||
|
||||
" Plug 'huggingface/llm.nvim'
|
||||
" Plug 'bruvduroiu/llm.nvim'
|
||||
|
||||
Plug 'github/copilot.vim'
|
||||
|
||||
Plug 'jpalardy/vim-slime', { 'for': 'python' }
|
||||
Plug 'hanschen/vim-ipython-cell', { 'for': 'python' }
|
||||
|
||||
Plug 'folke/noice.nvim'
|
||||
Plug 'MunifTanjim/nui.nvim'
|
||||
Plug 'rcarriga/nvim-notify'
|
||||
|
||||
Plug 'CoderCookE/vim-chatgpt'
|
||||
|
||||
Plug 'jellydn/hurl.nvim'
|
||||
|
||||
Plug 'ryanoasis/vim-devicons' " Keep this last always
|
||||
|
||||
call plug#end()
|
||||
autocmd BufEnter *.{js,jsx,ts,tsx,py} :syntax sync fromstart
|
||||
autocmd BufLeave *.{js,jsx,ts,tsx,py} :syntax sync clear
|
||||
|
||||
set termguicolors
|
||||
syntax enable
|
||||
|
||||
let g:material_terminal_italics = 1
|
||||
let g:material_theme_style = "default"
|
||||
let g:airline_theme = 'material'
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
let g:airline#extensions#tabline#buffer_nr_show = 1
|
||||
let g:airline#extensions#tabline#formatter = 'unique_tail_improved'
|
||||
colorscheme material
|
||||
|
||||
" NERDTree on ctrl+n
|
||||
let NERDTreeShowHidden=1
|
||||
nnoremap <leader>n :NERDTreeFocus<CR>
|
||||
nnoremap <C-n> :NERDTree<CR>
|
||||
nnoremap <C-t> :NERDTreeToggle<CR>
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
map <C-j> <C-W>j
|
||||
map <C-k> <C-W>k
|
||||
map <C-h> <C-W>h
|
||||
map <C-l> <C-W>l
|
||||
|
||||
" NERDTree config
|
||||
let g:NERDTreeWinPos = "right"
|
||||
let g:NERDTreeWinSize = 45
|
||||
let g:NERDTreeShowHidden = 1
|
||||
let g:NERDTreeMinimalUI = 1
|
||||
let g:NERDTreeDirArrows = 1
|
||||
let g:NERDTreeIgnore = []
|
||||
let g:NERDTreeStatusline = ''
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
y
|
||||
" FZF Mapping
|
||||
let g:fzf_action = {
|
||||
\ 'ctrl-t': 'tab split',
|
||||
\ 'ctrl-s': 'split',
|
||||
\ 'ctrl-v': 'vsplit'
|
||||
\}
|
||||
let $FZF_DEFAULT_COMMAND = 'ag -g ""'
|
||||
|
||||
" Telescope Bindings
|
||||
nnoremap <C-P> <cmd>Telescope find_files<cr>
|
||||
nnoremap <C-f> <cmd>Telescope live_grep<cr>
|
||||
nnoremap <leader>fs <cmd>Telescope grep_string<cr>
|
||||
nnoremap <leader>fb <cmd>Telescope buffers<cr>
|
||||
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
|
||||
|
||||
" COC namp
|
||||
"" Remap keys for applying codeAction to the current line.
|
||||
nmap <leader>ac <Plug>(coc-codeaction)
|
||||
|
||||
"" Apply AutoFix to problem on the current line.
|
||||
nmap <leader>qf <Plug>(coc-fix-current)
|
||||
|
||||
"" Rename
|
||||
nmap <leader>rn <Plug>(coc-rename)
|
||||
|
||||
"" GoTo code navigation.
|
||||
nmap <silent> gd <Plug>(coc-definition)
|
||||
nmap <silent> gD :vsplit<CR><Plug>(coc-definition)
|
||||
nmap <silent> gy <Plug>(coc-type-definition)
|
||||
nmap <silent> gY :vsplit<CR><Plug>(coc-type-definition)
|
||||
nmap <silent> gi <Plug>(coc-implementation)
|
||||
nmap <silent> gI :vsplit<CR><Plug>(coc-implementation)
|
||||
nmap <silent> gr <Plug>(coc-references)
|
||||
|
||||
nmap <silent> [g <Plug>(coc-diagnostic-prev)
|
||||
nmap <silent> ]g <Plug>(coc-diagnostic-next)
|
||||
|
||||
nnoremap <silent> <space>d :<C-u>CocList diagnostics<cr>
|
||||
nnoremap <silent> <space>s :<C-u>CocList -I symbols<cr>
|
||||
|
||||
" ===== Old one ====
|
||||
"inoremap <silent><expr> <TAB>
|
||||
" \ pumvisible() ? "\<C-n>" :
|
||||
" \ <SID>check_back_space() ? "\<TAB>" :
|
||||
" \ coc#refresh()
|
||||
"inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()
|
||||
"inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
||||
"function! s:check_back_space() abort
|
||||
" let col = col('.') - 1
|
||||
" return !col || getline('.')[col - 1] =~# '\s'
|
||||
"endfunction
|
||||
" Use tab for trigger completion with characters ahead and navigate
|
||||
" NOTE: There's always complete item selected by default, you may want to enable
|
||||
" no select by `"suggest.noselect": true` in your configuration file
|
||||
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
|
||||
" other plugin before putting this into your config
|
||||
inoremap <silent><expr> <TAB>
|
||||
\ coc#pum#visible() ? coc#pum#next(1) :
|
||||
\ CheckBackspace() ? "\<Tab>" :
|
||||
\ coc#refresh()
|
||||
inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"
|
||||
|
||||
" Make <CR> to accept selected completion item or notify coc.nvim to format
|
||||
" <C-g>u breaks current undo, please make your own choice
|
||||
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()
|
||||
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
|
||||
|
||||
function! CheckBackspace() abort
|
||||
let col = col('.') - 1
|
||||
return !col || getline('.')[col - 1] =~# '\s'
|
||||
endfunction
|
||||
|
||||
inoremap <silent><expr> <c-space> coc#refresh()
|
||||
nnoremap <silent> K :call <SID>show_documentation()<CR>
|
||||
|
||||
function! s:show_documentation()
|
||||
if (index(['vim','help'], &filetype) >= 0)
|
||||
execute 'h '.expand('<cword>')
|
||||
elseif (coc#rpc#ready())
|
||||
call CocActionAsync('doHover')
|
||||
else
|
||||
execute '!' . &keywordprg . " " . expand('<cword>')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! ShowDocIfNoDiagnostic(timer_id)
|
||||
if (coc#float#has_float() == 0 && CocHasProvider('hover') == 1)
|
||||
silent call CocActionAsync('doHover')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:show_hover_doc()
|
||||
call timer_start(200, 'ShowDocIfNoDiagnostic')
|
||||
endfunction
|
||||
|
||||
autocmd CursorHoldI * :call <SID>show_hover_doc()
|
||||
autocmd CursorHold * :call <SID>show_hover_doc()
|
||||
|
||||
" Diagnostics color
|
||||
hi! CocErrorSign guifg=#d1666a
|
||||
hi! CocInfoSign guibg=#353b45
|
||||
hi! CocWarningSign guifg=#d1cd66
|
||||
|
||||
" make FZF respect gitignore if `ag` is installed
|
||||
" you will obviously need to install `ag` for this to work
|
||||
if (executable('ag'))
|
||||
let $FZF_DEFAULT_COMMAND = 'ag --hidden --ignore .git -g ""'
|
||||
endif
|
||||
|
||||
" VimWiki settings
|
||||
set nocompatible
|
||||
filetype plugin on
|
||||
syntax on
|
||||
|
||||
" COC let
|
||||
let g:coc_global_extensions = [ 'coc-tsserver' ]
|
||||
|
||||
" ESLint & Prettier
|
||||
if isdirectory('./node_modules') && isdirectory('./node_modules/prettier')
|
||||
let g:coc_global_extensions += ['coc-prettier']
|
||||
endif
|
||||
|
||||
if isdirectory('./node_modules') && isdirectory('./node_modules/eslint')
|
||||
let g:coc_global_extensions += ['coc-eslint']
|
||||
endif
|
||||
|
||||
let g:typescript_indent_disable = 1
|
||||
|
||||
" YAML config
|
||||
" autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
|
||||
" autocmd FileType ts setlocal ts=2 sts=2 sw=2 expandtab
|
||||
" autocmd FileType js setlocal ts=2 sts=2 sw=2 expandtab
|
||||
" autocmd FileType tf setlocal ts=2 sts=2 sw=2 expandtab
|
||||
" autocmd FileType go setlocal ts=4 sts=4 sw=4 expandtab
|
||||
" autocmd FileType html setlocal ts=4 sts=4 sw=4 expandtab
|
||||
" autocmd FileType md setlocal ts=4 sts=4 sw=4 expandtab
|
||||
" autocmd FileType css setlocal ts=4 sts=4 sw=4 expandtab
|
||||
autocmd FileType json set filetype=jsonc
|
||||
let g:indentLine_char = '⦙'
|
||||
|
||||
" Increase win size
|
||||
nnoremap <silent> <Leader>= :exe "resize " . (winheight(0) * 3/2)<CR>
|
||||
nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
|
||||
|
||||
" Python 3 support
|
||||
let g:python3_host_prog = '/Users/bogdanbuduroiu/.pyenv/versions/3.9.16/bin/python'
|
||||
|
||||
" VIM-GPT Support
|
||||
let g:chat_gpt_max_tokens=2000
|
||||
let g:chat_gpt_model='gpt-4'
|
||||
let g:chat_gpt_session_mode=1
|
||||
let g:chat_gpt_temperature=0.7
|
||||
let g:chat_gpt_lang = 'English'
|
||||
|
||||
" Noice
|
||||
lua require("noice").setup()
|
||||
lua require("notify").setup({ top_down = false })
|
||||
|
||||
" Markdown
|
||||
let g:markdown_fenced_languages = ['html', 'js=javascript', 'ruby', 'python', 'ts=typescript', 'golang']
|
||||
|
||||
" Copilot
|
||||
let g:copilot_filetypes = {'python': v:true, 'typescript': v:true, 'yaml': v:true, 'docker': v:true}
|
||||
let b:copilot_enabled = v:true
|
||||
imap <silent><script><expr> <S-Tab> copilot#Accept("\<CR>")
|
||||
nnoremap <silent> <M-]> <Plug>(copilot-next)
|
||||
nnoremap <silent> <M-[> <Plug>(copilot-prev)
|
||||
nnoremap <silent> <M-\> <Plug>(copilot-dismiss)
|
||||
let g:copilot_no_tab_map = v:true
|
||||
|
||||
|
||||
" lua << EOF
|
||||
" require('llm').setup({
|
||||
" api_token = nil, -- cf Install paragraph
|
||||
" model = "stabilityai/stable-code-3b", -- can be a model ID or an http(s) endpoint
|
||||
" -- parameters that are added to the request body
|
||||
" query_params = {
|
||||
" max_new_tokens = 48,
|
||||
" temperature = 0.2,
|
||||
" top_p = 0.95,
|
||||
" stop_token = "<|endoftext|>",
|
||||
" },
|
||||
" -- set this if the model supports fill in the middle
|
||||
" fim = {
|
||||
" enabled = true,
|
||||
" prefix = "<fim_prefix>",
|
||||
" middle = "<fim_middle>",
|
||||
" suffix = "<fim_suffix>",
|
||||
" },
|
||||
" debounce_ms = 150,
|
||||
" accept_keymap = "<Tab>",
|
||||
" dismiss_keymap = "<S-Tab>",
|
||||
" max_context_after = 8192,
|
||||
" max_context_before = 8192,
|
||||
" tls_skip_verify_insecure = false,
|
||||
" -- llm-ls integration
|
||||
" lsp = {
|
||||
" enabled = false,
|
||||
" bin_path = vim.api.nvim_call_function("stdpath", { "data" }) .. "/llm_nvim/bin/llm-ls",
|
||||
" },
|
||||
" tokenizer_path = nil, -- when setting model as a URL, set this var
|
||||
" context_window = 16384, -- max number of tokens for the context window
|
||||
" })
|
||||
" EOF
|
||||
|
||||
lua << EOF
|
||||
require('telescope').setup{
|
||||
defaults = {
|
||||
theme = "dropdown"
|
||||
}
|
||||
}
|
||||
EOF
|
80
kitty/current-theme.conf
Normal file
80
kitty/current-theme.conf
Normal file
|
@ -0,0 +1,80 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin-Mocha
|
||||
## author: Pocco81 (https://github.com/Pocco81)
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #CDD6F4
|
||||
background #1E1E2E
|
||||
selection_foreground #1E1E2E
|
||||
selection_background #F5E0DC
|
||||
|
||||
# Cursor colors
|
||||
cursor #F5E0DC
|
||||
cursor_text_color #1E1E2E
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #F5E0DC
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #B4BEFE
|
||||
inactive_border_color #6C7086
|
||||
bell_border_color #F9E2AF
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111B
|
||||
active_tab_background #CBA6F7
|
||||
inactive_tab_foreground #CDD6F4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111B
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1E1E2E
|
||||
mark1_background #B4BEFE
|
||||
mark2_foreground #1E1E2E
|
||||
mark2_background #CBA6F7
|
||||
mark3_foreground #1E1E2E
|
||||
mark3_background #74C7EC
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475A
|
||||
color8 #585B70
|
||||
|
||||
# red
|
||||
color1 #F38BA8
|
||||
color9 #F38BA8
|
||||
|
||||
# green
|
||||
color2 #A6E3A1
|
||||
color10 #A6E3A1
|
||||
|
||||
# yellow
|
||||
color3 #F9E2AF
|
||||
color11 #F9E2AF
|
||||
|
||||
# blue
|
||||
color4 #89B4FA
|
||||
color12 #89B4FA
|
||||
|
||||
# magenta
|
||||
color5 #F5C2E7
|
||||
color13 #F5C2E7
|
||||
|
||||
# cyan
|
||||
color6 #94E2D5
|
||||
color14 #94E2D5
|
||||
|
||||
# white
|
||||
color7 #BAC2DE
|
||||
color15 #A6ADC8
|
9
kitty/get_layout.py
Normal file
9
kitty/get_layout.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
def main():
|
||||
pass
|
||||
|
||||
|
||||
def handle_result(args, result, target_window_id, boss):
|
||||
return boss.active_tab.current_layout.name
|
||||
|
||||
|
||||
handle_result.no_ui = True
|
29
kitty/kitty.conf
Normal file
29
kitty/kitty.conf
Normal file
|
@ -0,0 +1,29 @@
|
|||
# BEGIN_KITTY_THEME
|
||||
# Catppuccin-Mocha
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
# Font
|
||||
font_family Hack Nerd Font Mono
|
||||
bold_font Hack Nerd Font Mono
|
||||
italic_font Hack Nerd Font Mono
|
||||
bold_italic_font Hack Nerd Font Mono
|
||||
font_size 15.0
|
||||
|
||||
# Cursor
|
||||
cursor_shape beam
|
||||
cursor_shape_unfocused hollow
|
||||
|
||||
enabled_layouts tall:bias=70;full_size=1;mirrored=true,stack,fat
|
||||
# vim-kitty-navigator
|
||||
map alt+j kitten pass_keys.py bottom alt+j "^.* - nvim$"
|
||||
map alt+k kitten pass_keys.py top alt+k "^.* - nvim$"
|
||||
map alt+h kitten pass_keys.py left alt+h "^.* - nvim$"
|
||||
map alt+l kitten pass_keys.py right alt+l "^.* - nvim$"
|
||||
|
||||
macos_hide_titlebar yes
|
||||
macos_option_as_alt yes
|
||||
draw_minimal_borders yes
|
||||
|
||||
allow_remote_control yes
|
||||
listen_on unix:/tmp/mykitty
|
11
kitty/kitty.conf.bak
Normal file
11
kitty/kitty.conf.bak
Normal file
|
@ -0,0 +1,11 @@
|
|||
# BEGIN_KITTY_THEME
|
||||
# Catppuccin-Mocha
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
|
||||
font_family "Hack Nerd Font Mono"
|
||||
bold_font "Hack Nerd Font Mono"
|
||||
italic_font "Hack Nerd Font Mono"
|
||||
bold_italic_font "Hack Nerd Font Mono"
|
||||
|
||||
font_size 15.0
|
47
kitty/pass_keys.py
Normal file
47
kitty/pass_keys.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
import re
|
||||
|
||||
from kittens.tui.handler import result_handler
|
||||
from kitty.key_encoding import KeyEvent, parse_shortcut
|
||||
|
||||
|
||||
def is_window_vim(window, vim_id):
|
||||
fp = window.child.foreground_processes
|
||||
return any(re.search(vim_id, p['cmdline'][0] if len(p['cmdline']) else '', re.I) for p in fp)
|
||||
|
||||
|
||||
def encode_key_mapping(window, key_mapping):
|
||||
mods, key = parse_shortcut(key_mapping)
|
||||
event = KeyEvent(
|
||||
mods=mods,
|
||||
key=key,
|
||||
shift=bool(mods & 1),
|
||||
alt=bool(mods & 2),
|
||||
ctrl=bool(mods & 4),
|
||||
super=bool(mods & 8),
|
||||
hyper=bool(mods & 16),
|
||||
meta=bool(mods & 32),
|
||||
).as_window_system_event()
|
||||
|
||||
return window.encoded_key(event)
|
||||
|
||||
|
||||
def main():
|
||||
pass
|
||||
|
||||
|
||||
@result_handler(no_ui=True)
|
||||
def handle_result(args, result, target_window_id, boss):
|
||||
direction = args[1]
|
||||
key_mapping = args[2]
|
||||
vim_id = args[3] if len(args) > 3 else "n?vim"
|
||||
|
||||
window = boss.window_id_map.get(target_window_id)
|
||||
|
||||
if window is None:
|
||||
return
|
||||
if is_window_vim(window, vim_id):
|
||||
for keymap in key_mapping.split(">"):
|
||||
encoded = encode_key_mapping(window, keymap)
|
||||
window.write_to_child(encoded)
|
||||
else:
|
||||
boss.active_tab.neighboring_window(direction)
|
50
kitty/themes/diff-frappe.conf
Normal file
50
kitty/themes/diff-frappe.conf
Normal file
|
@ -0,0 +1,50 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Diff Frappé
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/diff-frappe.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
# text
|
||||
foreground #c6d0f5
|
||||
# base
|
||||
background #303446
|
||||
# subtext0
|
||||
title_fg #a5adce
|
||||
|
||||
# mantle
|
||||
title_bg #292c3c
|
||||
margin_bg #292c3c
|
||||
|
||||
# subtext1
|
||||
margin_fg #a5adce
|
||||
# mantle
|
||||
filler_bg #292c3c
|
||||
|
||||
# 30% red, 70% base
|
||||
removed_bg #684b59
|
||||
# 50% red, 50% base
|
||||
highlight_removed_bg #8c5b65
|
||||
# 40% red, 60% base
|
||||
removed_margin_bg #79535f
|
||||
|
||||
# 30% green, 70% base
|
||||
added_bg #54635a
|
||||
# 50% green, 50% base
|
||||
highlight_added_bg #6b8368
|
||||
# 40% green, 60% base
|
||||
added_margin_bg #79535f
|
||||
|
||||
# mantle
|
||||
hunk_margin_bg #292c3c
|
||||
hunk_bg #292c3c
|
||||
|
||||
# 40% yellow, 60% base
|
||||
search_bg #796f64
|
||||
# text
|
||||
search_fg #c6d0f5
|
||||
# 30% sky, 70% base
|
||||
select_bg #506373
|
||||
# text
|
||||
select_fg #c6d0f5
|
50
kitty/themes/diff-latte.conf
Normal file
50
kitty/themes/diff-latte.conf
Normal file
|
@ -0,0 +1,50 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Diff Latte
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/diff-latte.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
# text
|
||||
foreground #4c4f69
|
||||
# base
|
||||
background #eff1f5
|
||||
# subtext0
|
||||
title_fg #6c6f85
|
||||
|
||||
# mantle
|
||||
title_bg #e6e9ef
|
||||
margin_bg #e6e9ef
|
||||
|
||||
# subtext1
|
||||
margin_fg #5c5f77
|
||||
# mantle
|
||||
filler_bg #e6e9ef
|
||||
|
||||
# 30% red, 70% base
|
||||
removed_bg #e6adbc
|
||||
# 50% red, 50% base
|
||||
highlight_removed_bg #e08097
|
||||
# 40% red, 60% base
|
||||
removed_margin_bg #e397aa
|
||||
|
||||
# 30% green, 70% base
|
||||
added_bg #bad8b8
|
||||
# 50% green, 50% base
|
||||
highlight_added_bg #97c890
|
||||
# 40% green, 60% base
|
||||
added_margin_bg #e397aa
|
||||
|
||||
# mantle
|
||||
hunk_margin_bg #e6e9ef
|
||||
hunk_bg #e6e9ef
|
||||
|
||||
# 40% yellow, 60% base
|
||||
search_bg #e8ca9f
|
||||
# text
|
||||
search_fg #4c4f69
|
||||
# 30% sky, 70% base
|
||||
select_bg #a8daf0
|
||||
# text
|
||||
select_fg #4c4f69
|
50
kitty/themes/diff-macchiato.conf
Normal file
50
kitty/themes/diff-macchiato.conf
Normal file
|
@ -0,0 +1,50 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Diff Macchiato
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/diff-macchiato.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
# text
|
||||
foreground #cad3f5
|
||||
# base
|
||||
background #24273a
|
||||
# subtext0
|
||||
title_fg #a5adcb
|
||||
|
||||
# mantle
|
||||
title_bg #1e2030
|
||||
margin_bg #1e2030
|
||||
|
||||
# subtext1
|
||||
margin_fg #a5adcb
|
||||
# mantle
|
||||
filler_bg #1e2030
|
||||
|
||||
# 30% red, 70% base
|
||||
removed_bg #614455
|
||||
# 50% red, 50% base
|
||||
highlight_removed_bg #895768
|
||||
# 40% red, 60% base
|
||||
removed_margin_bg #754d5f
|
||||
|
||||
# 30% green, 70% base
|
||||
added_bg #4b5d55
|
||||
# 50% green, 50% base
|
||||
highlight_added_bg #658068
|
||||
# 40% green, 60% base
|
||||
added_margin_bg #754d5f
|
||||
|
||||
# mantle
|
||||
hunk_margin_bg #1e2030
|
||||
hunk_bg #1e2030
|
||||
|
||||
# 40% yellow, 60% base
|
||||
search_bg #756c63
|
||||
# text
|
||||
search_fg #cad3f5
|
||||
# 30% sky, 70% base
|
||||
select_bg #455c6d
|
||||
# text
|
||||
select_fg #cad3f5
|
50
kitty/themes/diff-mocha.conf
Normal file
50
kitty/themes/diff-mocha.conf
Normal file
|
@ -0,0 +1,50 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Diff Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/diff-mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
# text
|
||||
foreground #cdd6f4
|
||||
# base
|
||||
background #1e1e2e
|
||||
# subtext0
|
||||
title_fg #a6adc8
|
||||
|
||||
# mantle
|
||||
title_bg #181825
|
||||
margin_bg #181825
|
||||
|
||||
# subtext1
|
||||
margin_fg #a6adc8
|
||||
# mantle
|
||||
filler_bg #181825
|
||||
|
||||
# 30% red, 70% base
|
||||
removed_bg #5e3f53
|
||||
# 50% red, 50% base
|
||||
highlight_removed_bg #89556b
|
||||
# 40% red, 60% base
|
||||
removed_margin_bg #734a5f
|
||||
|
||||
# 30% green, 70% base
|
||||
added_bg #475a51
|
||||
# 50% green, 50% base
|
||||
highlight_added_bg #628168
|
||||
# 40% green, 60% base
|
||||
added_margin_bg #734a5f
|
||||
|
||||
# mantle
|
||||
hunk_margin_bg #181825
|
||||
hunk_bg #181825
|
||||
|
||||
# 40% yellow, 60% base
|
||||
search_bg #766c62
|
||||
# text
|
||||
search_fg #cdd6f4
|
||||
# 30% sky, 70% base
|
||||
select_bg #3e5767
|
||||
# text
|
||||
select_fg #cdd6f4
|
80
kitty/themes/frappe.conf
Normal file
80
kitty/themes/frappe.conf
Normal file
|
@ -0,0 +1,80 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Frappé
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/frappe.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #c6d0f5
|
||||
background #303446
|
||||
selection_foreground #303446
|
||||
selection_background #f2d5cf
|
||||
|
||||
# Cursor colors
|
||||
cursor #f2d5cf
|
||||
cursor_text_color #303446
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f2d5cf
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #babbf1
|
||||
inactive_border_color #737994
|
||||
bell_border_color #e5c890
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #232634
|
||||
active_tab_background #ca9ee6
|
||||
inactive_tab_foreground #c6d0f5
|
||||
inactive_tab_background #292c3c
|
||||
tab_bar_background #232634
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #303446
|
||||
mark1_background #babbf1
|
||||
mark2_foreground #303446
|
||||
mark2_background #ca9ee6
|
||||
mark3_foreground #303446
|
||||
mark3_background #85c1dc
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #51576d
|
||||
color8 #626880
|
||||
|
||||
# red
|
||||
color1 #e78284
|
||||
color9 #e78284
|
||||
|
||||
# green
|
||||
color2 #a6d189
|
||||
color10 #a6d189
|
||||
|
||||
# yellow
|
||||
color3 #e5c890
|
||||
color11 #e5c890
|
||||
|
||||
# blue
|
||||
color4 #8caaee
|
||||
color12 #8caaee
|
||||
|
||||
# magenta
|
||||
color5 #f4b8e4
|
||||
color13 #f4b8e4
|
||||
|
||||
# cyan
|
||||
color6 #81c8be
|
||||
color14 #81c8be
|
||||
|
||||
# white
|
||||
color7 #b5bfe2
|
||||
color15 #a5adce
|
80
kitty/themes/latte.conf
Normal file
80
kitty/themes/latte.conf
Normal file
|
@ -0,0 +1,80 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Latte
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/latte.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #4c4f69
|
||||
background #eff1f5
|
||||
selection_foreground #eff1f5
|
||||
selection_background #dc8a78
|
||||
|
||||
# Cursor colors
|
||||
cursor #dc8a78
|
||||
cursor_text_color #eff1f5
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #dc8a78
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #7287fd
|
||||
inactive_border_color #9ca0b0
|
||||
bell_border_color #df8e1d
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #eff1f5
|
||||
active_tab_background #8839ef
|
||||
inactive_tab_foreground #4c4f69
|
||||
inactive_tab_background #9ca0b0
|
||||
tab_bar_background #bcc0cc
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #eff1f5
|
||||
mark1_background #7287fd
|
||||
mark2_foreground #eff1f5
|
||||
mark2_background #8839ef
|
||||
mark3_foreground #eff1f5
|
||||
mark3_background #209fb5
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #5c5f77
|
||||
color8 #6c6f85
|
||||
|
||||
# red
|
||||
color1 #d20f39
|
||||
color9 #d20f39
|
||||
|
||||
# green
|
||||
color2 #40a02b
|
||||
color10 #40a02b
|
||||
|
||||
# yellow
|
||||
color3 #df8e1d
|
||||
color11 #df8e1d
|
||||
|
||||
# blue
|
||||
color4 #1e66f5
|
||||
color12 #1e66f5
|
||||
|
||||
# magenta
|
||||
color5 #ea76cb
|
||||
color13 #ea76cb
|
||||
|
||||
# cyan
|
||||
color6 #179299
|
||||
color14 #179299
|
||||
|
||||
# white
|
||||
color7 #acb0be
|
||||
color15 #bcc0cc
|
80
kitty/themes/macchiato.conf
Normal file
80
kitty/themes/macchiato.conf
Normal file
|
@ -0,0 +1,80 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Macchiato
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/macchiato.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #cad3f5
|
||||
background #24273a
|
||||
selection_foreground #24273a
|
||||
selection_background #f4dbd6
|
||||
|
||||
# Cursor colors
|
||||
cursor #f4dbd6
|
||||
cursor_text_color #24273a
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f4dbd6
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b7bdf8
|
||||
inactive_border_color #6e738d
|
||||
bell_border_color #eed49f
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #181926
|
||||
active_tab_background #c6a0f6
|
||||
inactive_tab_foreground #cad3f5
|
||||
inactive_tab_background #1e2030
|
||||
tab_bar_background #181926
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #24273a
|
||||
mark1_background #b7bdf8
|
||||
mark2_foreground #24273a
|
||||
mark2_background #c6a0f6
|
||||
mark3_foreground #24273a
|
||||
mark3_background #7dc4e4
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #494d64
|
||||
color8 #5b6078
|
||||
|
||||
# red
|
||||
color1 #ed8796
|
||||
color9 #ed8796
|
||||
|
||||
# green
|
||||
color2 #a6da95
|
||||
color10 #a6da95
|
||||
|
||||
# yellow
|
||||
color3 #eed49f
|
||||
color11 #eed49f
|
||||
|
||||
# blue
|
||||
color4 #8aadf4
|
||||
color12 #8aadf4
|
||||
|
||||
# magenta
|
||||
color5 #f5bde6
|
||||
color13 #f5bde6
|
||||
|
||||
# cyan
|
||||
color6 #8bd5ca
|
||||
color14 #8bd5ca
|
||||
|
||||
# white
|
||||
color7 #b8c0e0
|
||||
color15 #a5adcb
|
80
kitty/themes/mocha.conf
Normal file
80
kitty/themes/mocha.conf
Normal file
|
@ -0,0 +1,80 @@
|
|||
# vim:ft=kitty
|
||||
|
||||
## name: Catppuccin Kitty Mocha
|
||||
## author: Catppuccin Org
|
||||
## license: MIT
|
||||
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
|
||||
## blurb: Soothing pastel theme for the high-spirited!
|
||||
|
||||
|
||||
|
||||
# The basic colors
|
||||
foreground #cdd6f4
|
||||
background #1e1e2e
|
||||
selection_foreground #1e1e2e
|
||||
selection_background #f5e0dc
|
||||
|
||||
# Cursor colors
|
||||
cursor #f5e0dc
|
||||
cursor_text_color #1e1e2e
|
||||
|
||||
# URL underline color when hovering with mouse
|
||||
url_color #f5e0dc
|
||||
|
||||
# Kitty window border colors
|
||||
active_border_color #b4befe
|
||||
inactive_border_color #6c7086
|
||||
bell_border_color #f9e2af
|
||||
|
||||
# OS Window titlebar colors
|
||||
wayland_titlebar_color system
|
||||
macos_titlebar_color system
|
||||
|
||||
# Tab bar colors
|
||||
active_tab_foreground #11111b
|
||||
active_tab_background #cba6f7
|
||||
inactive_tab_foreground #cdd6f4
|
||||
inactive_tab_background #181825
|
||||
tab_bar_background #11111b
|
||||
|
||||
# Colors for marks (marked text in the terminal)
|
||||
mark1_foreground #1e1e2e
|
||||
mark1_background #b4befe
|
||||
mark2_foreground #1e1e2e
|
||||
mark2_background #cba6f7
|
||||
mark3_foreground #1e1e2e
|
||||
mark3_background #74c7ec
|
||||
|
||||
# The 16 terminal colors
|
||||
|
||||
# black
|
||||
color0 #45475a
|
||||
color8 #585b70
|
||||
|
||||
# red
|
||||
color1 #f38ba8
|
||||
color9 #f38ba8
|
||||
|
||||
# green
|
||||
color2 #a6e3a1
|
||||
color10 #a6e3a1
|
||||
|
||||
# yellow
|
||||
color3 #f9e2af
|
||||
color11 #f9e2af
|
||||
|
||||
# blue
|
||||
color4 #89b4fa
|
||||
color12 #89b4fa
|
||||
|
||||
# magenta
|
||||
color5 #f5c2e7
|
||||
color13 #f5c2e7
|
||||
|
||||
# cyan
|
||||
color6 #94e2d5
|
||||
color14 #94e2d5
|
||||
|
||||
# white
|
||||
color7 #bac2de
|
||||
color15 #a6adc8
|
24
nvim/LICENSE
Normal file
24
nvim/LICENSE
Normal file
|
@ -0,0 +1,24 @@
|
|||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <https://unlicense.org>
|
38
nvim/init.lua
Normal file
38
nvim/init.lua
Normal file
|
@ -0,0 +1,38 @@
|
|||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
|
||||
vim.g.mapleader = "\\"
|
||||
|
||||
-- bootstrap lazy and all plugins
|
||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||
end
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local lazy_config = require "configs.lazy"
|
||||
|
||||
-- load plugins
|
||||
require("lazy").setup({
|
||||
{
|
||||
"NvChad/NvChad",
|
||||
lazy = false,
|
||||
branch = "v2.5",
|
||||
import = "nvchad.plugins",
|
||||
},
|
||||
|
||||
{ import = "plugins" },
|
||||
}, lazy_config)
|
||||
|
||||
-- load theme
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
dofile(vim.g.base46_cache .. "statusline")
|
||||
|
||||
require "options"
|
||||
require "autocmds"
|
||||
require "nvchad.autocmds"
|
||||
|
||||
vim.schedule(function()
|
||||
require "mappings"
|
||||
end)
|
36
nvim/lazy-lock.json
Normal file
36
nvim/lazy-lock.json
Normal file
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "e808bee352d1a6fcf902ca1a71cee76e60e24071" },
|
||||
"NvChad": { "branch": "v2.5", "commit": "f6025f0788880989484733c90deff07dff01ef02" },
|
||||
"base46": { "branch": "v2.5", "commit": "fec9fa583025e69e0c4f902bd61990e8d13d1975" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"conform.nvim": { "branch": "master", "commit": "40d4e98fcc3e6f485f0e8924c63734bc7e305967" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "e7a4442e055ec953311e77791546238d1eaae507" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "1159bdccd8910a0fd0914b24d6c3d186689023d9" },
|
||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||
"menu": { "branch": "main", "commit": "ee85b2e394fde354bd24e35ff7a688d10c9212fa" },
|
||||
"minty": { "branch": "main", "commit": "7c2a6452922313e10ff46aea49a4bb5e50e1ac68" },
|
||||
"noice.nvim": { "branch": "main", "commit": "df448c649ef6bc5a6a633a44f2ad0ed8d4442499" },
|
||||
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "ee297f215e95a60b01fde33275cc3c820eddeebe" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "7be9986a4a4d7c9faddeeb9e80bafc9d3547e32e" },
|
||||
"nvim-tree.lua": { "branch": "master", "commit": "f5f67892996b280ae78b1b0a2d07c4fa29ae0905" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "39904fd016120d87010a93ccb9845c821ba2f1dd" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "df534c3042572fb958586facd02841e10186707c" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "254145ffd528b98eb20be894338e2d5c93fa02c2" },
|
||||
"ui": { "branch": "v3.0", "commit": "e0891549ec3ccff7d68a57915e7af97c9608ffad" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "d4877e54cef67f5af4f950935b1ade19ed6b7370" },
|
||||
"vim-kitty-navigator": { "branch": "master", "commit": "20abf8613aa228a5def1ae02cd9da0f2d210352a" },
|
||||
"vim-rhubarb": { "branch": "master", "commit": "ee69335de176d9325267b0fd2597a22901d927b1" },
|
||||
"volt": { "branch": "main", "commit": "43f72b49037c191eb3cfe26ba7a5574b4bfce226" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" },
|
||||
"zen-mode.nvim": { "branch": "main", "commit": "29b292bdc58b76a6c8f294c961a8bf92c5a6ebd6" }
|
||||
}
|
31
nvim/lua/autocmds.lua
Normal file
31
nvim/lua/autocmds.lua
Normal file
|
@ -0,0 +1,31 @@
|
|||
local autocmd = vim.api.nvim_create_autocmd
|
||||
|
||||
autocmd('LspAttach', {
|
||||
callback = function(args)
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
if client.supports_method('textDocument/formatting') then
|
||||
-- Format the current buffer on save
|
||||
vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
buffer = args.buf,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({bufnr = args.buf, id = client.id})
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd('LspDetach', {
|
||||
callback = function(args)
|
||||
-- Get the detaching client
|
||||
local client = vim.lsp.get_client_by_id(args.data.client_id)
|
||||
-- Remove the autocommand to format the buffer on save, if it exists
|
||||
if client.supports_method('textDocument/formatting') then
|
||||
vim.api.nvim_clear_autocmds({
|
||||
event = 'BufWritePre',
|
||||
buffer = args.buf,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
17
nvim/lua/chadrc.lua
Normal file
17
nvim/lua/chadrc.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
-- This file needs to have same structure as nvconfig.lua
|
||||
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
|
||||
-- Please read that file to know all available options :(
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
|
||||
M.base46 = {
|
||||
theme = "mountain",
|
||||
|
||||
hl_override = {
|
||||
Comment = { italic = true },
|
||||
["@comment"] = { italic = true },
|
||||
},
|
||||
}
|
||||
|
||||
return M
|
16
nvim/lua/configs/conform.lua
Normal file
16
nvim/lua/configs/conform.lua
Normal file
|
@ -0,0 +1,16 @@
|
|||
local options = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
css = { "prettier" },
|
||||
html = { "prettier" },
|
||||
python = { "ruff", "pyright" }
|
||||
},
|
||||
|
||||
format_on_save = {
|
||||
-- These options will be passed to conform.format()
|
||||
timeout_ms = 500,
|
||||
lsp_fallback = true,
|
||||
},
|
||||
}
|
||||
|
||||
return options
|
47
nvim/lua/configs/lazy.lua
Normal file
47
nvim/lua/configs/lazy.lua
Normal file
|
@ -0,0 +1,47 @@
|
|||
return {
|
||||
defaults = { lazy = true },
|
||||
install = { colorscheme = { "nvchad" } },
|
||||
|
||||
ui = {
|
||||
icons = {
|
||||
ft = "",
|
||||
lazy = " ",
|
||||
loaded = "",
|
||||
not_loaded = "",
|
||||
},
|
||||
},
|
||||
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"2html_plugin",
|
||||
"tohtml",
|
||||
"getscript",
|
||||
"getscriptPlugin",
|
||||
"gzip",
|
||||
"logipat",
|
||||
"netrw",
|
||||
"netrwPlugin",
|
||||
"netrwSettings",
|
||||
"netrwFileHandlers",
|
||||
"matchit",
|
||||
"tar",
|
||||
"tarPlugin",
|
||||
"rrhelper",
|
||||
"spellfile_plugin",
|
||||
"vimball",
|
||||
"vimballPlugin",
|
||||
"zip",
|
||||
"zipPlugin",
|
||||
"tutor",
|
||||
"rplugin",
|
||||
"syntax",
|
||||
"synmenu",
|
||||
"optwin",
|
||||
"compiler",
|
||||
"bugreport",
|
||||
"ftplugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
54
nvim/lua/configs/lspconfig.lua
Normal file
54
nvim/lua/configs/lspconfig.lua
Normal file
|
@ -0,0 +1,54 @@
|
|||
local configs = require "nvchad.configs.lspconfig"
|
||||
configs.defaults()
|
||||
|
||||
local servers = {
|
||||
html = {},
|
||||
cssls = {},
|
||||
gopls = {
|
||||
analyses = {
|
||||
unusedparams = true,
|
||||
},
|
||||
staticcheck = true,
|
||||
gofumpt = true,
|
||||
},
|
||||
ruff = {
|
||||
lint = {
|
||||
run = "onSave"
|
||||
}
|
||||
},
|
||||
zls = {},
|
||||
|
||||
pyright = {
|
||||
settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
autoSearchPaths = true,
|
||||
typeCheckingMode = "basic",
|
||||
},
|
||||
venvPath = vim.fn.getcwd() .. "/.venv",
|
||||
pythonPath = vim.fn.getcwd() .. "/.venv/bin/python3",
|
||||
},
|
||||
},
|
||||
},
|
||||
ts_ls = {
|
||||
settings = {
|
||||
completions = {
|
||||
completeFunctionCalls = true
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
configs.on_attach(client, bufnr)
|
||||
client.server_capabilities.documentFormattingProvider = true
|
||||
end
|
||||
|
||||
for name, opts in pairs(servers) do
|
||||
opts.on_init = configs.on_init
|
||||
opts.on_attach = on_attach
|
||||
opts.capabilities = configs.capabilities
|
||||
|
||||
require("lspconfig")[name].setup(opts)
|
||||
end
|
||||
|
16
nvim/lua/mappings.lua
Normal file
16
nvim/lua/mappings.lua
Normal file
|
@ -0,0 +1,16 @@
|
|||
require "nvchad.mappings"
|
||||
|
||||
-- add yours here
|
||||
|
||||
local map = vim.keymap.set
|
||||
|
||||
map("n", ";", ":", { desc = "CMD enter command mode" })
|
||||
map("i", "jk", "<ESC>")
|
||||
|
||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
|
||||
|
||||
map("n", "<C-P>", "<cmd> Telescope find_files<cr>")
|
||||
map("n", "<C-f>", "<cmd> Telescope live_grep<cr>")
|
||||
map("n", "<leader>fs", "<cmd> Telescope grep_string<cr>")
|
||||
map("n", "<leader>fb", "<cmd> Telescope buffers<cr>")
|
||||
map("n", "<leader>fh", "<cmd> Telescope help_tags<cr>")
|
6
nvim/lua/options.lua
Normal file
6
nvim/lua/options.lua
Normal file
|
@ -0,0 +1,6 @@
|
|||
require "nvchad.options"
|
||||
|
||||
-- add yours here!
|
||||
|
||||
-- local o = vim.o
|
||||
-- o.cursorlineopt ='both' -- to enable cursorline!
|
131
nvim/lua/plugins/init.lua
Normal file
131
nvim/lua/plugins/init.lua
Normal file
|
@ -0,0 +1,131 @@
|
|||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
-- event = 'BufWritePre', -- uncomment for format on save
|
||||
opts = require "configs.conform",
|
||||
},
|
||||
|
||||
-- These are some examples, uncomment them if you want to see them work!
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function()
|
||||
require "configs.lspconfig"
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"vim", "lua", "vimdoc",
|
||||
"html", "css", "python",
|
||||
"typescript", "go"
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"tpope/vim-fugitive",
|
||||
cmd={"Git", "G", "Gdiffsplit", "Gvdiffsplit", "Gwrite", "Gread", "Ggrep", "GMove", "GDelete", "GBrowse"},
|
||||
keys={
|
||||
{"<leader>gs", "<cmd>vertical Git<cr>" },
|
||||
desc = "Open Fugitive"
|
||||
},
|
||||
opts = {
|
||||
enabled = true
|
||||
}
|
||||
},
|
||||
{ "tpope/vim-rhubarb", opts = { enabled = true, lazy = false } },
|
||||
{
|
||||
"folke/zen-mode.nvim",
|
||||
cmd="ZenMode",
|
||||
opts = {
|
||||
plugins = {
|
||||
kitty = {
|
||||
enabled = true,
|
||||
font = "+4",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
opts = {
|
||||
auto_close = true,
|
||||
auto_open = false,
|
||||
warn_no_results = false,
|
||||
modes = {
|
||||
symbols = { -- Configure symbols mode
|
||||
win = {
|
||||
type = "split", -- split window
|
||||
relative = "win", -- relative to current window
|
||||
position = "right", -- right side
|
||||
size = 0.15, -- 30% of the window
|
||||
},
|
||||
},
|
||||
},
|
||||
}, -- for default options, refer to the configuration section for custom setup.
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>xx",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xX",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cs",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xL",
|
||||
"<cmd>Trouble loclist toggle<cr>",
|
||||
desc = "Location List (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xQ",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
lsp = {
|
||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
|
||||
},
|
||||
},
|
||||
-- you can enable a preset for easier configuration
|
||||
presets = {
|
||||
bottom_search = true, -- use a classic bottom cmdline for search
|
||||
command_palette = true, -- position the cmdline and popupmenu together
|
||||
long_message_to_split = true, -- long messages will be sent to a split
|
||||
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"knubie/vim-kitty-navigator",
|
||||
enabled = true,
|
||||
lazy = false,
|
||||
build = {
|
||||
"cp ./*.py ~/.config/kitty/"
|
||||
}
|
||||
},
|
||||
}
|
Loading…
Add table
Reference in a new issue