diff --git a/.gitignore b/.gitignore index d80f2f4..0c69684 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /nvim/plugged/* gtk-3.0/bookmarks gtk-3.0/servers +/fish/fish_variables +fish/fish_variables diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml deleted file mode 100644 index 9dbbb33..0000000 --- a/alacritty/alacritty.yml +++ /dev/null @@ -1,878 +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: -# - /path/to/alacritty.yml - -# 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: alacritty - -#window: - # Window dimensions (changes require restart) - # - # Number of lines/columns (not pixels) in the terminal. 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: false - - # 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: full - - # 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. - window: - opacity: 0.85 - - # 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: Alacritty - - # 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 - - # GTK theme variant (Linux/BSD only) - # - # Override the variant of the GTK theme. Commonly supported values are `dark` - # and `light`. Set this to `None` to use the default theme variant. - #gtk_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: 'FuraMono Nerd Font' - # - # Default: - # - (macOS) Menlo - # - (Linux/BSD) monospace - # - (Windows) Consolas - #family: monospace - - # The `style` can be specified to pick a specific face. - #style: Regular - - # Bold font face - # bold: 'FuraMono Nerf Font bold' - # - # If the bold family is not specified, it will fall back to the - # value specified for the normal font. - #family: monospace - - # 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: monospace - - # 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: monospace - - # The `style` can be specified to pick a specific face. - #style: Bold Italic - - # Point size - #size: 11.0 - - # 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 - - # Thin stroke font rendering (macOS only) - # - # Thin strokes are suitable for retina displays, but for non-retina screens - # it is recommended to set `use_thin_strokes` to `false`. - #use_thin_strokes: true - - # 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' - - colors.footer_bar: - background: '#c5c8c6' - foreground: '#1d1f21' - - # Keyboard regex 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 - - # 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 - - # 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: -# - (macOS) /bin/bash --login -# - (Linux/BSD) user login shell -# - (Windows) powershell - shell: - program: /bin/zsh - 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 - -# Regex hints -# -# Terminal hints can be used to find text 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 a `regex` and either an `action` or a `command` field. - # The fields `mouse`, `binding` and `post_processing` are optional. - # - # 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. - # - # 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{-}\\^⟨⟩`]+" - # 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`. -# -# - 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: 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 diff --git a/copyq/copyq-bak.conf b/copyq/copyq-bak.conf new file mode 100644 index 0000000..6ae5aec --- /dev/null +++ b/copyq/copyq-bak.conf @@ -0,0 +1,216 @@ +[General] +plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext + +[Options] +activate_closes=true +activate_focuses=true +activate_item_with_single_click=false +activate_pastes=true +always_on_top=false +autocompletion=true +autostart=false +change_clipboard_owner_delay_ms=150 +check_clipboard=true +check_selection=false +clipboard_notification_lines=0 +clipboard_tab=&clipboard +close_on_unfocus=false +close_on_unfocus_delay_ms=500 +command_history_size=100 +confirm_exit=true +copy_clipboard=false +copy_selection=false +disable_tray=false +edit_ctrl_return=true +editor=gedit --standalone -- %1 +expire_tab=0 +filter_case_insensitive=true +filter_regular_expression=false +hide_main_window=true +hide_main_window_in_task_bar=false +hide_tabs=false +hide_toolbar=false +hide_toolbar_labels=true +item_popup_interval=0 +language=en +max_process_manager_rows=1000 +maxitems=200 +move=true +native_menu_bar=true +native_notifications=true +native_tray_menu=false +notification_horizontal_offset=10 +notification_maximum_height=100 +notification_maximum_width=300 +notification_position=3 +notification_vertical_offset=10 +number_search=false +open_windows_on_current_screen=true +restore_geometry=true +row_index_from_one=true +run_selection=true +save_delay_ms_on_item_added=300000 +save_delay_ms_on_item_edited=1000 +save_delay_ms_on_item_modified=300000 +save_delay_ms_on_item_moved=1800000 +save_delay_ms_on_item_removed=600000 +save_filter_history=false +save_on_app_deactivated=true +script_paste_delay_ms=250 +show_advanced_command_settings=false +show_simple_items=false +show_tab_item_count=false +style= +tab_tree=false +tabs=&clipboard +text_tab_width=8 +text_wrap=true +transparency=0 +transparency_focused=0 +tray_commands=true +tray_images=true +tray_item_paste=true +tray_items=5 +tray_menu_open_on_left_click=false +tray_tab= +tray_tab_is_current=true +vi=false +window_key_press_time_ms=50 +window_paste_with_ctrl_v_regex= +window_wait_after_raised_ms=50 +window_wait_before_raise_ms=20 +window_wait_for_modifier_released_ms=2000 +window_wait_raised_ms=150 + +[Plugins] +itemencrypted\enabled=true +itemfakevim\enabled=true +itemimage\enabled=true +itemimage\image_editor= +itemimage\max_image_height=240 +itemimage\max_image_width=320 +itemimage\svg_editor= +itemnotes\enabled=true +itempinned\enabled=true +itemsync\enabled=true +itemtags\enabled=true +itemtext\enabled=true + +[Shortcuts] +about=shift+f1 +change_tab_icon=ctrl+shift+t +commands=f6 +copy_selected_items=ctrl+c +delete_item=del +edit=f2 +edit_notes=shift+f2 +editor=ctrl+e +editor_background= +editor_bold=ctrl+b +editor_cancel=esc +editor_erase_style= +editor_font= +editor_foreground= +editor_italic=ctrl+i +editor_redo=ctrl+shift+z +editor_save=f2 +editor_search=ctrl+f +editor_strikethrough= +editor_underline=ctrl+u +editor_undo=ctrl+z +exit=ctrl+q +export=ctrl+s +find_items=ctrl+g +help=f1 +import=ctrl+i +item-menu=shift+f10 +move_down=ctrl+down +move_to_bottom=ctrl+end +move_to_clipboard= +move_to_top=ctrl+home +move_up=ctrl+up +new=ctrl+n +new_tab=ctrl+t +next_tab=right +paste_selected_items=ctrl+v +preferences=ctrl+p +previous_tab=left +process_manager=ctrl+shift+z +remove_tab=ctrl+w +rename_tab=ctrl+f2 +reverse_selected_items=ctrl+shift+r +show-log=f12 +show_clipboard_content=ctrl+shift+c +show_item_content=f4 +show_item_preview=f7 +sort_selected_items=ctrl+shift+s +system-run=f5 +toggle_clipboard_storing=ctrl+shift+x + +[Tabs] +1\icon= +1\max_item_count=0 +1\name=&clipboard +1\store_items=true +size=1 + +[Theme] +alt_bg=default_alt_bg +alt_item_css= +bg=default_bg +css= +css_template_items=items +css_template_main_window=main_window +css_template_menu=menu +css_template_notification=notification +cur_item_css="\n ;border: 0.1em solid ${sel_bg}" +edit_bg=default_bg +edit_fg=default_text +edit_font= +fg=default_text +find_bg=#ff0 +find_fg=#000 +find_font= +font= +font_antialiasing=true +hover_item_css= +icon_size=16 +item_css= +item_spacing= +menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}" +menu_bar_disabled_css="\n ;color: ${bg - #666}" +menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}" +menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}" +notes_bg=default_tooltip_bg +notes_css= +notes_fg=default_tooltip_text +notes_font= +notification_bg=#333 +notification_fg=#ddd +notification_font= +num_fg=default_placeholder_text +num_font= +num_margin=2 +search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px" +search_bar_focused="\n ;border: 1px solid ${sel_bg}" +sel_bg=default_highlight_bg +sel_fg=default_highlight_text +sel_item_css= +show_number=true +show_scrollbars=true +style_main_window=false +tab_bar_css="\n ;background: ${bg - #222}" +tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt" +tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0" +tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}" +tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}" +tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}" +tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}" +tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt" +tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}" +tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px" +tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0" +tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px" +tool_button_pressed_css="\n ;background: ${sel_bg}" +tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}" +use_system_icons=false diff --git a/copyq/copyq-commands.ini b/copyq/copyq-commands.ini new file mode 100644 index 0000000..ae62c0a --- /dev/null +++ b/copyq/copyq-commands.ini @@ -0,0 +1,44 @@ +[Commands] +1\Command=copyq: plugins.itempinned.pin() +1\Icon=\xf08d +1\InMenu=true +1\Input=!OUTPUT +1\InternalId=copyq_pinned_pin +1\Name=Pin +1\Output=application/x-copyq-item-pinned +2\Command=copyq: plugins.itempinned.unpin() +2\Icon=\xf08d +2\InMenu=true +2\Input=application/x-copyq-item-pinned +2\InternalId=copyq_pinned_unpin +2\Name=Unpin +3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important')) +3\Icon=\xf02b +3\InMenu=true +3\InternalId=copyq_tags_tag:Important +3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail() +3\Name=Tag as \x201cImportant\x201d +4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important')) +4\Icon=\xf02b +4\InMenu=true +4\InternalId=copyq_tags_untag:Important +4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail() +4\Name=Remove tag \x201cImportant\x201d +5\Command=copyq: plugins.itemtags.tag() +5\Icon=\xf02b +5\InMenu=true +5\InternalId=copyq_tags_tag +5\Name=Add a Tag +6\Command=copyq: plugins.itemtags.untag() +6\Icon=\xf02b +6\InMenu=true +6\Input=application/x-copyq-tags +6\InternalId=copyq_tags_untag +6\Name=Remove a Tag +7\Command=copyq: plugins.itemtags.clearTags() +7\Icon=\xf02b +7\InMenu=true +7\Input=application/x-copyq-tags +7\InternalId=copyq_tags_clear +7\Name=Clear all tags +size=7 diff --git a/copyq/copyq-commands.ini.bak b/copyq/copyq-commands.ini.bak new file mode 100644 index 0000000..ae62c0a --- /dev/null +++ b/copyq/copyq-commands.ini.bak @@ -0,0 +1,44 @@ +[Commands] +1\Command=copyq: plugins.itempinned.pin() +1\Icon=\xf08d +1\InMenu=true +1\Input=!OUTPUT +1\InternalId=copyq_pinned_pin +1\Name=Pin +1\Output=application/x-copyq-item-pinned +2\Command=copyq: plugins.itempinned.unpin() +2\Icon=\xf08d +2\InMenu=true +2\Input=application/x-copyq-item-pinned +2\InternalId=copyq_pinned_unpin +2\Name=Unpin +3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important')) +3\Icon=\xf02b +3\InMenu=true +3\InternalId=copyq_tags_tag:Important +3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail() +3\Name=Tag as \x201cImportant\x201d +4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important')) +4\Icon=\xf02b +4\InMenu=true +4\InternalId=copyq_tags_untag:Important +4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail() +4\Name=Remove tag \x201cImportant\x201d +5\Command=copyq: plugins.itemtags.tag() +5\Icon=\xf02b +5\InMenu=true +5\InternalId=copyq_tags_tag +5\Name=Add a Tag +6\Command=copyq: plugins.itemtags.untag() +6\Icon=\xf02b +6\InMenu=true +6\Input=application/x-copyq-tags +6\InternalId=copyq_tags_untag +6\Name=Remove a Tag +7\Command=copyq: plugins.itemtags.clearTags() +7\Icon=\xf02b +7\InMenu=true +7\Input=application/x-copyq-tags +7\InternalId=copyq_tags_clear +7\Name=Clear all tags +size=7 diff --git a/copyq/copyq-filter.ini b/copyq/copyq-filter.ini new file mode 100644 index 0000000..50b0ec1 --- /dev/null +++ b/copyq/copyq-filter.ini @@ -0,0 +1,2 @@ +[General] +filter_history=@Invalid() diff --git a/copyq/copyq.conf b/copyq/copyq.conf new file mode 100644 index 0000000..6ae5aec --- /dev/null +++ b/copyq/copyq.conf @@ -0,0 +1,216 @@ +[General] +plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext + +[Options] +activate_closes=true +activate_focuses=true +activate_item_with_single_click=false +activate_pastes=true +always_on_top=false +autocompletion=true +autostart=false +change_clipboard_owner_delay_ms=150 +check_clipboard=true +check_selection=false +clipboard_notification_lines=0 +clipboard_tab=&clipboard +close_on_unfocus=false +close_on_unfocus_delay_ms=500 +command_history_size=100 +confirm_exit=true +copy_clipboard=false +copy_selection=false +disable_tray=false +edit_ctrl_return=true +editor=gedit --standalone -- %1 +expire_tab=0 +filter_case_insensitive=true +filter_regular_expression=false +hide_main_window=true +hide_main_window_in_task_bar=false +hide_tabs=false +hide_toolbar=false +hide_toolbar_labels=true +item_popup_interval=0 +language=en +max_process_manager_rows=1000 +maxitems=200 +move=true +native_menu_bar=true +native_notifications=true +native_tray_menu=false +notification_horizontal_offset=10 +notification_maximum_height=100 +notification_maximum_width=300 +notification_position=3 +notification_vertical_offset=10 +number_search=false +open_windows_on_current_screen=true +restore_geometry=true +row_index_from_one=true +run_selection=true +save_delay_ms_on_item_added=300000 +save_delay_ms_on_item_edited=1000 +save_delay_ms_on_item_modified=300000 +save_delay_ms_on_item_moved=1800000 +save_delay_ms_on_item_removed=600000 +save_filter_history=false +save_on_app_deactivated=true +script_paste_delay_ms=250 +show_advanced_command_settings=false +show_simple_items=false +show_tab_item_count=false +style= +tab_tree=false +tabs=&clipboard +text_tab_width=8 +text_wrap=true +transparency=0 +transparency_focused=0 +tray_commands=true +tray_images=true +tray_item_paste=true +tray_items=5 +tray_menu_open_on_left_click=false +tray_tab= +tray_tab_is_current=true +vi=false +window_key_press_time_ms=50 +window_paste_with_ctrl_v_regex= +window_wait_after_raised_ms=50 +window_wait_before_raise_ms=20 +window_wait_for_modifier_released_ms=2000 +window_wait_raised_ms=150 + +[Plugins] +itemencrypted\enabled=true +itemfakevim\enabled=true +itemimage\enabled=true +itemimage\image_editor= +itemimage\max_image_height=240 +itemimage\max_image_width=320 +itemimage\svg_editor= +itemnotes\enabled=true +itempinned\enabled=true +itemsync\enabled=true +itemtags\enabled=true +itemtext\enabled=true + +[Shortcuts] +about=shift+f1 +change_tab_icon=ctrl+shift+t +commands=f6 +copy_selected_items=ctrl+c +delete_item=del +edit=f2 +edit_notes=shift+f2 +editor=ctrl+e +editor_background= +editor_bold=ctrl+b +editor_cancel=esc +editor_erase_style= +editor_font= +editor_foreground= +editor_italic=ctrl+i +editor_redo=ctrl+shift+z +editor_save=f2 +editor_search=ctrl+f +editor_strikethrough= +editor_underline=ctrl+u +editor_undo=ctrl+z +exit=ctrl+q +export=ctrl+s +find_items=ctrl+g +help=f1 +import=ctrl+i +item-menu=shift+f10 +move_down=ctrl+down +move_to_bottom=ctrl+end +move_to_clipboard= +move_to_top=ctrl+home +move_up=ctrl+up +new=ctrl+n +new_tab=ctrl+t +next_tab=right +paste_selected_items=ctrl+v +preferences=ctrl+p +previous_tab=left +process_manager=ctrl+shift+z +remove_tab=ctrl+w +rename_tab=ctrl+f2 +reverse_selected_items=ctrl+shift+r +show-log=f12 +show_clipboard_content=ctrl+shift+c +show_item_content=f4 +show_item_preview=f7 +sort_selected_items=ctrl+shift+s +system-run=f5 +toggle_clipboard_storing=ctrl+shift+x + +[Tabs] +1\icon= +1\max_item_count=0 +1\name=&clipboard +1\store_items=true +size=1 + +[Theme] +alt_bg=default_alt_bg +alt_item_css= +bg=default_bg +css= +css_template_items=items +css_template_main_window=main_window +css_template_menu=menu +css_template_notification=notification +cur_item_css="\n ;border: 0.1em solid ${sel_bg}" +edit_bg=default_bg +edit_fg=default_text +edit_font= +fg=default_text +find_bg=#ff0 +find_fg=#000 +find_font= +font= +font_antialiasing=true +hover_item_css= +icon_size=16 +item_css= +item_spacing= +menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}" +menu_bar_disabled_css="\n ;color: ${bg - #666}" +menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}" +menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}" +notes_bg=default_tooltip_bg +notes_css= +notes_fg=default_tooltip_text +notes_font= +notification_bg=#333 +notification_fg=#ddd +notification_font= +num_fg=default_placeholder_text +num_font= +num_margin=2 +search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px" +search_bar_focused="\n ;border: 1px solid ${sel_bg}" +sel_bg=default_highlight_bg +sel_fg=default_highlight_text +sel_item_css= +show_number=true +show_scrollbars=true +style_main_window=false +tab_bar_css="\n ;background: ${bg - #222}" +tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt" +tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0" +tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}" +tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}" +tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}" +tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}" +tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt" +tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}" +tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px" +tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0" +tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px" +tool_button_pressed_css="\n ;background: ${sel_bg}" +tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}" +use_system_icons=false diff --git a/copyq/copyq.lock b/copyq/copyq.lock new file mode 100644 index 0000000..448fc6f --- /dev/null +++ b/copyq/copyq.lock @@ -0,0 +1,5 @@ +1263 +copyq +spaceship +a10dc6f271ba47d988a3b282250928e2 +cb602df7-7d2d-4352-8c2d-7847932ab696 diff --git a/copyq/copyq.pub b/copyq/copyq.pub new file mode 100644 index 0000000..a32e7f1 Binary files /dev/null and b/copyq/copyq.pub differ diff --git a/copyq/copyq_geometry.ini b/copyq/copyq_geometry.ini new file mode 100644 index 0000000..7ebdab1 --- /dev/null +++ b/copyq/copyq_geometry.ini @@ -0,0 +1,6 @@ +[Options] +ConfigurationManager_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5\x82\0\0\x3z\0\0\0\0\0\0\0\0\0\0\x2\xa6\0\0\x2l\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x5\x82\0\0\x3z) +ConfigurationManager_geometry_screen_2=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5\x82\0\0\x3z\0\0\0\0\0\0\0\0\0\0\x2\xa6\0\0\x2l\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x5\x82\0\0\x3z) +ConfigurationManager_geometry_screen_2_2560x1440=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5\x82\0\0\x3z\0\0\0\0\0\0\0\0\0\0\x2\xa6\0\0\x2l\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x5\x82\0\0\x3z) +MainWindow_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\n\0\0\0\0\0\0\0\xe[\0\0\x2\xf3\0\0\n\0\0\0\0\0\0\0\fG\0\0\x1G\0\0\0\0\x2\0\0\0\rp\0\0\n\0\0\0\0\0\0\0\xe[\0\0\x2\xf3) +MainWindow_geometry_3440x1440=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\n\0\0\0\0\0\0\0\xe[\0\0\x2\xf3\0\0\n\0\0\0\0\0\0\0\fG\0\0\x1G\0\0\0\0\x2\0\0\0\rp\0\0\n\0\0\0\0\0\0\0\xe[\0\0\x2\xf3) diff --git a/copyq/copyq_geometry.ini.lock b/copyq/copyq_geometry.ini.lock new file mode 100644 index 0000000..e69de29 diff --git a/copyq/copyq_geometry.ini.lock.rmlock b/copyq/copyq_geometry.ini.lock.rmlock new file mode 100644 index 0000000..e69de29 diff --git a/copyq/copyq_tab_JmNsaXBib2FyZA==.dat b/copyq/copyq_tab_JmNsaXBib2FyZA==.dat new file mode 100644 index 0000000..0db8f4c Binary files /dev/null and b/copyq/copyq_tab_JmNsaXBib2FyZA==.dat differ diff --git a/copyq/copyq_tabs.ini b/copyq/copyq_tabs.ini new file mode 100644 index 0000000..b56ad40 --- /dev/null +++ b/copyq/copyq_tabs.ini @@ -0,0 +1,3 @@ +[TabWidget] +collapsed_tabs=@Invalid() +tab_item_counters=@Variant(\0\0\0\b\0\0\0\x1\0\0\0\x14\0&\0\x63\0l\0i\0p\0\x62\0o\0\x61\0r\0\x64\0\0\0\x2\0\0\0\xc8) diff --git a/dunst/dunstrc b/dunst/dunstrc index 14e5885..e4b5797 100644 --- a/dunst/dunstrc +++ b/dunst/dunstrc @@ -4,7 +4,7 @@ ### Display ### # Which monitor should the notifications be displayed on. - monitor = 2 + monitor = 2 # Display notification on focused monitor. Possible modes are: # mouse: follow mouse pointer @@ -17,7 +17,7 @@ # # If this option is set to mouse or keyboard, the monitor option # will be ignored. - follow = none + follow = mouse ### Geometry ### @@ -27,13 +27,13 @@ width = (0, 300) # The maximum height of a single notification, excluding the frame. - height = (0, 300) + height = 300 # Position the notification in the top right corner origin = top-right # Offset from the origin - offset = 10x2 + offset = 10x10 # Scale factor. It is auto-detected if value is 0. scale = 0 @@ -90,7 +90,7 @@ frame_width = 3 # Defines color of the frame around the notification window. - frame_color = "#0f0f17" + frame_color = "#002684" # Size of gap to display between notifications - requires a compositor. # If value is greater than 0, separator_height will be ignored and a border @@ -310,7 +310,7 @@ # Otherwise the "#" and following would be interpreted as a comment. background = "#222222F0" foreground = "#888888" - frame_color = "0f0f17C8" + frame_color = "#002684C8" timeout = 3 # Icon for notifications with low urgency, uncomment to enable #default_icon = /path/to/icon @@ -318,7 +318,7 @@ [urgency_normal] background = "#222222F0" foreground = "#888888" - frame_color = "0f0f17C8" + frame_color = "#002684C8" timeout = 3 # Icon for notifications with normal urgency, uncomment to enable #default_icon = /path/to/icon diff --git a/environment.d/envvars.conf b/environment.d/envvars.conf index 99e76f2..eaf16f3 100644 --- a/environment.d/envvars.conf +++ b/environment.d/envvars.conf @@ -1,13 +1,14 @@ GTK_CSD=0 +QT_QPA_PLATFORM=wayland QT_QPA_PLATFORMTHEME=qt5ct QT_WAYLAND_FORCE_DPI=96 QT_AUTO_SCREEN_SCALE_FACTOR=0 QT_WAYLAND_DISABLE_WINDOWDECORATION=1 QT_SCALE_FACTOR=1 -QT_QPA_PLATFORM=wayland XCURSOR_SIZE=24 WAYLAND_DISPLAY=wayland-1 XDG_CURRENT_DESKTOP=wlr GPG_TTY=$(tty) PATH=$PATH:$HOME/.local/bin TEXMFHOME=$HOME/.texmf +PATH=/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$HOME/.local/bin:$HOME/.cargo/bin:$PATH diff --git a/eww_desktop/scripts/cockpit_toggle b/eww_desktop/scripts/cockpit_toggle index d23fb76..80dfd97 100755 --- a/eww_desktop/scripts/cockpit_toggle +++ b/eww_desktop/scripts/cockpit_toggle @@ -4,7 +4,7 @@ ISOPEN=$(eww windows | grep "*cockpit" | tr -d '*') if [ "$ISOPEN" = "" ]; then -MONITOR=$(hyprctl monitors | grep -B 7 "focused: yes" | grep "ID" | awk -F '(' ' { print $2 } ' | tr -d 'ID ):') +MONITOR=$(hyprctl monitors | grep -B 10 "focused: yes" | grep "ID" | awk -F '(' ' { print $2 } ' | tr -d 'ID ):') eww open cockpit_window_"$MONITOR" else eww close "$ISOPEN" diff --git a/eww_desktop/scripts/ncspot_control.sh b/eww_desktop/scripts/ncspot_control.sh index 477625c..cca2764 100755 --- a/eww_desktop/scripts/ncspot_control.sh +++ b/eww_desktop/scripts/ncspot_control.sh @@ -1,5 +1,7 @@ #! /bin/bash -NUM=$(pactl list clients short | grep "ncspot" | awk -F 'PipeWire' ' { print $1 } ' | tr -d ' \t\n') -CLIENT=$(pactl list sink-inputs short | grep "$NUM" | awk -F ' ' ' { print $1 }' | tr -d ' \t\n') -pactl set-sink-input-volume "$CLIENT" "$1" +NUM=$(pactl list clients short | rg "spotify_player" | awk -F 'PipeWire' ' { print $1 } ' | tr -d ' \t\n') +CHANGE=$(pactl list sink-inputs short | rg "$NUM" | awk -F ' ' ' { print $1 }' | tr -d ' \t\n') +pactl set-sink-input-volume "$CHANGE" "$1" +VOLUME=$(pactl list sink-inputs | rg "$NUM" -A7 | rg "Volume:" | awk -F ' ' ' { print $5 }' | tr -d '%') +dunstify -a "changeVolume" -r 2 -u low -i audio-volume-high -h int:value:"$VOLUME" "Spotify Volume: ${VOLUME}%" diff --git a/eww_laptop/eww.scss b/eww_laptop/eww.scss index 4334889..3d4bda8 100644 --- a/eww_laptop/eww.scss +++ b/eww_laptop/eww.scss @@ -8,7 +8,7 @@ Created by saimoom **/ /** General **/ .bar_class { - background-color: #111017; /*#282828;*/ + background-color:#000000 ; /*#282828#111017;*/ border-radius: 10px; } .module { @@ -170,7 +170,7 @@ scale trough { font-size: 27px; font-weight: normal; margin: 0px 0px 0px 15px; - background-color: #111017; + background-color: #000000; } .0, diff --git a/eww_laptop/scripts/cockpit_toggle b/eww_laptop/scripts/cockpit_toggle index fa672b9..80dfd97 100755 --- a/eww_laptop/scripts/cockpit_toggle +++ b/eww_laptop/scripts/cockpit_toggle @@ -4,7 +4,7 @@ ISOPEN=$(eww windows | grep "*cockpit" | tr -d '*') if [ "$ISOPEN" = "" ]; then -MONITOR=$(hyprctl monitors | grep -B 8 "focused: yes" | grep "ID" | awk -F '(' ' { print $2 } ' | tr -d 'ID ):') +MONITOR=$(hyprctl monitors | grep -B 10 "focused: yes" | grep "ID" | awk -F '(' ' { print $2 } ' | tr -d 'ID ):') eww open cockpit_window_"$MONITOR" else eww close "$ISOPEN" diff --git a/fish/completions/tide.fish b/fish/completions/tide.fish new file mode 100644 index 0000000..2d3784d --- /dev/null +++ b/fish/completions/tide.fish @@ -0,0 +1,12 @@ +complete tide --no-files + +set -l subcommands bug-report configure + +complete tide -x -n __fish_use_subcommand -a bug-report -d "Print info for use in bug reports" +complete tide -x -n __fish_use_subcommand -a configure -d "Run the configuration wizard" + +complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s h -l help -d "Print help message" +complete tide -x -n "not __fish_seen_subcommand_from $subcommands" -s v -l version -d "Print tide version" + +complete tide -x -n '__fish_seen_subcommand_from bug-report' -l clean -d "Run clean Fish instance and install Tide" +complete tide -x -n '__fish_seen_subcommand_from bug-report' -l verbose -d "Print full Tide configuration" diff --git a/fish/conf.d/_tide_init.fish b/fish/conf.d/_tide_init.fish new file mode 100644 index 0000000..939f17c --- /dev/null +++ b/fish/conf.d/_tide_init.fish @@ -0,0 +1,41 @@ +function _tide_init_install --on-event _tide_init_install + set -U VIRTUAL_ENV_DISABLE_PROMPT true + + source (functions --details _tide_sub_configure) + _load_config lean + _tide_finish + + if status is-interactive + tide bug-report --check || sleep 4 + + if contains ilancosman/tide (string lower $_fisher_plugins) + set_color bryellow + echo "ilancosman/tide is a development branch. Please install from a release tag:" + echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + sleep 3 + end + + switch (read --prompt-str="Configure tide prompt? [Y/n] " | string lower) + case y ye yes '' + tide configure + case '*' + echo -s \n 'Run ' (echo -ns "tide configure" | fish_indent --ansi) ' to customize your prompt.' + end + end +end + +function _tide_init_update --on-event _tide_init_update + # Warn users who install from main branch + if contains ilancosman/tide (string lower $_fisher_plugins) + set_color bryellow + echo "ilancosman/tide is a development branch. Please install from a release tag:" + echo -ns "fisher install ilancosman/tide@v5" | fish_indent --ansi + sleep 3 + end +end + +function _tide_init_uninstall --on-event _tide_init_uninstall + set -e VIRTUAL_ENV_DISABLE_PROMPT + set -e (set -U --names | string match --entire -r '^_?tide') + functions --erase (functions --all | string match --entire -r '^_?tide') +end diff --git a/fish/config.fish b/fish/config.fish new file mode 100644 index 0000000..e8fe466 --- /dev/null +++ b/fish/config.fish @@ -0,0 +1,134 @@ +if status is-interactive + # Commands to run in interactive sessions can go here +end +# ============================================================================= +# +# Utility functions for zoxide. +# +set fish_greeting +function sudo --description "Replacement for Bash 'sudo !!' command to run last command using sudo." + if test "$argv" = !! + echo sudo $history[1] + eval command sudo $history[1] + else + command sudo $argv + end +end +alias ls='lsd' +alias :q='exit' +alias gh='git push origin' +alias gl='git pull origin' +alias gm='git commit -m' +alias ga="git add -A" +alias g+='bear -- g++ -Wextra -Werror -std=c++20' +alias s="kitty +kitten ssh" +alias zl='z "" ' +alias jo='joshuto' + +# pwd based on the value of _ZO_RESOLVE_SYMLINKS. +function __zoxide_pwd + builtin pwd -L +end + +# A copy of fish's internal cd function. This makes it possible to use +# `alias cd=z` without causing an infinite loop. +if ! builtin functions -q __zoxide_cd_internal + if builtin functions -q cd + builtin functions -c cd __zoxide_cd_internal + else + alias __zoxide_cd_internal='builtin cd' + end +end + +# cd + custom logic based on the value of _ZO_ECHO. +function __zoxide_cd + __zoxide_cd_internal $argv +end + +# ============================================================================= +# +# Hook configuration for zoxide. +# + +# Initialize hook to add new entries to the database. +function __zoxide_hook --on-variable PWD + test -z "$fish_private_mode" + and command zoxide add -- (__zoxide_pwd) +end + +# ============================================================================= +# +# When using zoxide with --no-cmd, alias these internal functions as desired. +# + +set __zoxide_z_prefix 'z!' + +# Jump to a directory using only keywords. +function __zoxide_z + set -l argc (count $argv) + set -l completion_regex '^'(string escape --style=regex $__zoxide_z_prefix)'(.*)$' + + if test $argc -eq 0 + __zoxide_cd $HOME + else if test "$argv" = - + __zoxide_cd - + else if test $argc -eq 1 -a -d $argv[1] + __zoxide_cd $argv[1] + else if set -l result (string match --groups-only --regex $completion_regex $argv[-1]) + __zoxide_cd $result + else + set -l result (command zoxide query --exclude (__zoxide_pwd) -- $argv) + and __zoxide_cd $result + end +end + +# Completions for `z`. +function __zoxide_z_complete + set -l tokens (commandline --current-process --tokenize) + set -l curr_tokens (commandline --cut-at-cursor --current-process --tokenize) + + if test (count $tokens) -le 2 -a (count $curr_tokens) -eq 1 + # If there are < 2 arguments, use `cd` completions. + __fish_complete_directories "$tokens[2]" '' + else if test (count $tokens) -eq (count $curr_tokens) + # If the last argument is empty, use interactive selection. + set -l query $tokens[2..-1] + set -l result (zoxide query --exclude (__zoxide_pwd) -i -- $query) + and echo $__zoxide_z_prefix$result + commandline --function repaint + end +end + +# Jump to a directory using interactive search. +function __zoxide_zi + set -l result (command zoxide query -i -- $argv) + and __zoxide_cd $result +end + +# ============================================================================= +# +# Commands for zoxide. Disable these using --no-cmd. +# + +abbr --erase z &>/dev/null +complete --command z --erase +function z + __zoxide_z $argv +end +complete --command z --no-files --arguments '(__zoxide_z_complete)' + +abbr --erase zi &>/dev/null +complete --command zi --erase +function zi + __zoxide_zi $argv +end + +# ============================================================================= +# +# To initialize zoxide, add this to your configuration (usually +# ~/.config/fish/config.fish): +# +# zoxide init fish | source +# +# Note: zoxide only supports fish v3.4.0 and above. +# diff --git a/fish/fish_plugins b/fish/fish_plugins new file mode 100644 index 0000000..b2d5f77 --- /dev/null +++ b/fish/fish_plugins @@ -0,0 +1 @@ +ilancosman/tide@v5 diff --git a/fish/functions/_tide_1_line_prompt.fish b/fish/functions/_tide_1_line_prompt.fish new file mode 100644 index 0000000..5772223 --- /dev/null +++ b/fish/functions/_tide_1_line_prompt.fish @@ -0,0 +1,19 @@ +function _tide_1_line_prompt + set -g add_prefix + _tide_side=left for item in $_tide_left_items + _tide_item_$item + end + set_color $prev_bg_color -b normal + echo $tide_left_prompt_suffix + + set -g add_prefix + _tide_side=right for item in $_tide_right_items + _tide_item_$item + end + set_color $prev_bg_color -b normal + echo $tide_right_prompt_suffix +end + +function _tide_item_pwd + _tide_print_item pwd @PWD@ +end diff --git a/fish/functions/_tide_2_line_prompt.fish b/fish/functions/_tide_2_line_prompt.fish new file mode 100644 index 0000000..e9017af --- /dev/null +++ b/fish/functions/_tide_2_line_prompt.fish @@ -0,0 +1,31 @@ +function _tide_2_line_prompt + set -g add_prefix + _tide_side=left for item in $_tide_left_items + _tide_item_$item + end + if not set -e add_prefix + set_color $prev_bg_color -b normal + echo $tide_left_prompt_suffix + end + + echo + + set -g add_prefix + _tide_side=right for item in $_tide_right_items + _tide_item_$item + end + if not set -e add_prefix + set_color $prev_bg_color -b normal + echo $tide_right_prompt_suffix + end +end + +function _tide_item_pwd + _tide_print_item pwd @PWD@ +end + +function _tide_item_newline + set_color $prev_bg_color -b normal + v=tide_"$_tide_side"_prompt_suffix echo $$v + set -g add_prefix +end diff --git a/fish/functions/_tide_cache_variables.fish b/fish/functions/_tide_cache_variables.fish new file mode 100644 index 0000000..31e3850 --- /dev/null +++ b/fish/functions/_tide_cache_variables.fish @@ -0,0 +1,17 @@ +function _tide_cache_variables + # Same-color-separator color + set_color $tide_prompt_color_separator_same_color | read -gx _tide_color_separator_same_color + + # git + contains git $_tide_left_items $_tide_right_items && set_color $tide_git_color_branch | read -gx _tide_location_color + + # private_mode + if contains private_mode $_tide_left_items $_tide_right_items && test -n "$fish_private_mode" + set -gx _tide_private_mode + else + set -e _tide_private_mode + end + + # item padding + test "$tide_prompt_pad_items" = true && set -gx _tide_pad ' ' || set -e _tide_pad +end diff --git a/fish/functions/_tide_detect_os.fish b/fish/functions/_tide_detect_os.fish new file mode 100644 index 0000000..5d96053 --- /dev/null +++ b/fish/functions/_tide_detect_os.fish @@ -0,0 +1,75 @@ +# Outputs icon, color, bg_color +function _tide_detect_os + set -lx defaultColor 080808 CED7CF + switch (uname | string lower) + case darwin + printf %s\n  D6D6D6 333333 # from apple.com header + case freebsd openbsd dragonfly + printf %s\n  FFFFFF AB2B28 # https://freebsdfoundation.org/about-us/about-the-foundation/project/ + case 'cygwin*' + printf %s\n  FFFFFF 00CCFF # https://answers.microsoft.com/en-us/windows/forum/all/what-is-the-official-windows-8-blue-rgb-or-hex/fd57144b-f69b-42d8-8c21-6ca911646e44 + case linux + if test (uname -o) = Android + echo ﲎ # This character is evil and messes up code display, so it's put on its own line + # https://developer.android.com/distribute/marketing-tools/brand-guidelines + printf %s\n 3DDC84 3C3F41 # fg is from above link, bg is from Android Studio default dark theme + else + _tide_detect_os_linux_cases /etc/os-release ID || + _tide_detect_os_linux_cases /etc/os-release ID_LIKE || + _tide_detect_os_linux_cases /etc/lsb-release DISTRIB_ID || + printf %s\n  $defaultColor + end + case '*' + echo -ns '?' + end +end + +function _tide_detect_os_linux_cases -a file key + test -e $file || return + set -l split_file (string split '=' <$file) + set -l key_index (contains --index $key $split_file) || return + set -l value (string trim --chars='"' $split_file[(math $key_index + 1)]) + + # Anything which would have pure white background has been changed to D4D4D4 + # It was just too bright otherwise + switch (string lower $value) + case alpine + printf %s\n  FFFFFF 0D597F # from alpine logo + case arch + printf %s\n  1793D1 4D4D4D # from arch wiki header + case centos + printf %s\n  000000 D4D4D4 # https://wiki.centos.org/ArtWork/Brand/Logo, monochromatic + case debian + printf %s\n  C70036 D4D4D4 # from debian logo https://www.debian.org/logos/openlogo-nd-100.png + case devuan + printf %s\n  $defaultColor # logo is monochromatic + case elementary + printf %s\n  000000 D4D4D4 # https://elementary.io/brand, encouraged to be monochromatic + case fedora + printf %s\n  FFFFFF 294172 # from logo https://fedoraproject.org/w/uploads/2/2d/Logo_fedoralogo.png + case gentoo + printf %s\n  FFFFFF 54487A # https://wiki.gentoo.org/wiki/Project:Artwork/Colors + case mageia + printf %s\n  FFFFFF 262F45 # https://wiki.mageia.org/en/Artwork_guidelines + case manjaro + printf %s\n  FFFFFF 35BF5C # from https://gitlab.manjaro.org/artwork/branding/logo/-/blob/master/logo.svg + case mint + printf %s\n  FFFFFF 69B53F # extracted from https://linuxmint.com/web/img/favicon.ico + case nixos + printf %s\n  FFFFFF 5277C3 # https://github.com/NixOS/nixos-artwork/tree/master/logo + case opensuse-leap opensuse-tumbleweed + printf %s\n  73BA25 173f4f # https://en.opensuse.org/openSUSE:Artwork_brand + case raspbian + printf %s\n  FFFFFF A22846 # https://static.raspberrypi.org/files/Raspberry_Pi_Visual_Guidelines_2020.pdf + case rhel + printf %s\n  EE0000 000000 # https://www.redhat.com/en/about/brand/standards/color + case sabayon + printf %s\n  $defaultColor # Can't find colors, and they are rebranding anyway + case slackware + printf %s\n  $defaultColor # Doesn't really have a logo, and the colors are too close to PWD blue anyway + case ubuntu + printf %s\n  E95420 D4D4D4 # https://design.ubuntu.com/brand/ + case '*' + return 1 + end +end diff --git a/fish/functions/_tide_find_and_remove.fish b/fish/functions/_tide_find_and_remove.fish new file mode 100644 index 0000000..29f2180 --- /dev/null +++ b/fish/functions/_tide_find_and_remove.fish @@ -0,0 +1,3 @@ +function _tide_find_and_remove -a name list --no-scope-shadowing + contains --index $name $$list | read -l index && set -e "$list"[$index] +end diff --git a/fish/functions/_tide_item_aws.fish b/fish/functions/_tide_item_aws.fish new file mode 100644 index 0000000..7cb6338 --- /dev/null +++ b/fish/functions/_tide_item_aws.fish @@ -0,0 +1,11 @@ +function _tide_item_aws + # AWS_PROFILE overrides AWS_DEFAULT_PROFILE, AWS_REGION overrides AWS_DEFAULT_REGION + set -q AWS_PROFILE && set -l AWS_DEFAULT_PROFILE $AWS_PROFILE + set -q AWS_REGION && set -l AWS_DEFAULT_REGION $AWS_REGION + + if test -n "$AWS_DEFAULT_PROFILE" && test -n "$AWS_DEFAULT_REGION" + _tide_print_item aws $tide_aws_icon' ' "$AWS_DEFAULT_PROFILE/$AWS_DEFAULT_REGION" + else if test -n "$AWS_DEFAULT_PROFILE$AWS_DEFAULT_REGION" + _tide_print_item aws $tide_aws_icon' ' "$AWS_DEFAULT_PROFILE$AWS_DEFAULT_REGION" + end +end diff --git a/fish/functions/_tide_item_character.fish b/fish/functions/_tide_item_character.fish new file mode 100644 index 0000000..10bb324 --- /dev/null +++ b/fish/functions/_tide_item_character.fish @@ -0,0 +1,17 @@ +function _tide_item_character + test $_tide_status = 0 && set_color $tide_character_color || set_color $tide_character_color_failure + + set -q add_prefix || echo -ns ' ' + + test "$fish_key_bindings" = fish_default_key_bindings && echo -ns $tide_character_icon || + switch $fish_bind_mode + case insert + echo -ns $tide_character_icon + case default + echo -ns $tide_character_vi_icon_default + case replace replace_one + echo -ns $tide_character_vi_icon_replace + case visual + echo -ns $tide_character_vi_icon_visual + end +end diff --git a/fish/functions/_tide_item_chruby.fish b/fish/functions/_tide_item_chruby.fish new file mode 100644 index 0000000..02d5fbd --- /dev/null +++ b/fish/functions/_tide_item_chruby.fish @@ -0,0 +1,3 @@ +function _tide_item_chruby + test -n "$RUBY_VERSION" && _tide_print_item chruby $tide_chruby_icon' ' $RUBY_VERSION +end diff --git a/fish/functions/_tide_item_cmd_duration.fish b/fish/functions/_tide_item_cmd_duration.fish new file mode 100644 index 0000000..bc48bac --- /dev/null +++ b/fish/functions/_tide_item_cmd_duration.fish @@ -0,0 +1,12 @@ +function _tide_item_cmd_duration + test $CMD_DURATION -gt $tide_cmd_duration_threshold && t=( + math -s0 "$CMD_DURATION/3600000" # Hours + math -s0 "$CMD_DURATION/60000"%60 # Minutes + math -s$tide_cmd_duration_decimals "$CMD_DURATION/1000"%60) if test $t[1] != 0 + _tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[1]h $t[2]m $t[3]s" + else if test $t[2] != 0 + _tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[2]m $t[3]s" + else + _tide_print_item cmd_duration $tide_cmd_duration_icon' ' "$t[3]s" + end +end diff --git a/fish/functions/_tide_item_context.fish b/fish/functions/_tide_item_context.fish new file mode 100644 index 0000000..575c438 --- /dev/null +++ b/fish/functions/_tide_item_context.fish @@ -0,0 +1,15 @@ +function _tide_item_context + if set -q SSH_TTY + set -lx tide_context_color $tide_context_color_ssh + test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER || + h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts]) + else if test "$EUID" = 0 + set -lx tide_context_color $tide_context_color_root + test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER || + h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts]) + else if test "$tide_context_always_display" = true + set -lx tide_context_color $tide_context_color_default + test "$tide_context_hostname_parts" = 0 && _tide_print_item context $USER || + h=(string split . $hostname) _tide_print_item context $USER@(string join . $h[..$tide_context_hostname_parts]) + end +end diff --git a/fish/functions/_tide_item_crystal.fish b/fish/functions/_tide_item_crystal.fish new file mode 100644 index 0000000..cec9752 --- /dev/null +++ b/fish/functions/_tide_item_crystal.fish @@ -0,0 +1,4 @@ +function _tide_item_crystal + path is $_tide_parent_dirs/shard.yml && + _tide_print_item crystal $tide_crystal_icon' ' (crystal --version | string match -r "[\d.]+")[1] +end diff --git a/fish/functions/_tide_item_docker.fish b/fish/functions/_tide_item_docker.fish new file mode 100644 index 0000000..4eec0bf --- /dev/null +++ b/fish/functions/_tide_item_docker.fish @@ -0,0 +1,5 @@ +function _tide_item_docker + docker context inspect --format '{{.Name}}' | read -l context + contains -- "$context" $tide_docker_default_contexts || + _tide_print_item docker $tide_docker_icon' ' $context +end diff --git a/fish/functions/_tide_item_git.fish b/fish/functions/_tide_item_git.fish new file mode 100644 index 0000000..43d46cb --- /dev/null +++ b/fish/functions/_tide_item_git.fish @@ -0,0 +1,67 @@ +function _tide_item_git + if git branch --show-current 2>/dev/null | string replace -r ".+(.{$tide_git_truncation_length})" '…$1' | read -l location + git rev-parse --git-dir --is-inside-git-dir | read -fL gdir in_gdir + set location $_tide_location_color$location + else if test $pipestatus[1] != 0 + return + else if git tag --points-at HEAD | string replace -r ".+(.{$tide_git_truncation_length})" '…$1' | read location + git rev-parse --git-dir --is-inside-git-dir | read -fL gdir in_gdir + set location '#'$_tide_location_color$location + else + git rev-parse --git-dir --is-inside-git-dir --short HEAD | read -fL gdir in_gdir location + set location @$_tide_location_color$location + end + + # Operation + if test -d $gdir/rebase-merge + read -f step <$gdir/rebase-merge/msgnum + read -f total_steps <$gdir/rebase-merge/end + test -f $gdir/rebase-merge/interactive && set -f operation rebase-i || set -f operation rebase-m + else if test -d $gdir/rebase-apply + read -f step <$gdir/rebase-apply/next + read -f total_steps <$gdir/rebase-apply/last + if test -f $gdir/rebase-apply/rebasing + set -f operation rebase + else if test -f $gdir/rebase-apply/applying + set -f operation am + else + set -f operation am/rebase + end + else if test -f $gdir/MERGE_HEAD + set -f operation merge + else if test -f $gdir/CHERRY_PICK_HEAD + set -f operation cherry-pick + else if test -f $gdir/REVERT_HEAD + set -f operation revert + else if test -f $gdir/BISECT_LOG + set -f operation bisect + end + + # Git status/stash + Upstream behind/ahead + test $in_gdir = true && set -l _set_dir_opt -C $gdir/.. + # Suppress errors in case we are in a bare repo or there is no upstream + stat=(git $_set_dir_opt --no-optional-locks status --porcelain 2>/dev/null) \ + string match -qr '(0|(?.*))\n(0|(?.*))\n(0|(?.*)) +(0|(?.*))\n(0|(?.*))(\n(0|(?.*))\t(0|(?.*)))?' \ + "$(git $_set_dir_opt stash list 2>/dev/null | count + string match -r ^UU $stat | count + string match -r ^[ADMR]. $stat | count + string match -r ^.[ADMR] $stat | count + string match -r '^\?\?' $stat | count + git rev-list --count --left-right @{upstream}...HEAD 2>/dev/null)" + + if test -n "$operation$conflicted" + set -g tide_git_bg_color $tide_git_bg_color_urgent + else if test -n "$staged$dirty$untracked" + set -g tide_git_bg_color $tide_git_bg_color_unstable + end + + _tide_print_item git $_tide_location_color$tide_git_icon' ' (set_color white; echo -ns $location + set_color $tide_git_color_operation; echo -ns ' '$operation ' '$step/$total_steps + set_color $tide_git_color_upstream; echo -ns ' ⇣'$behind ' ⇡'$ahead + set_color $tide_git_color_stash; echo -ns ' *'$stash + set_color $tide_git_color_conflicted; echo -ns ' ~'$conflicted + set_color $tide_git_color_staged; echo -ns ' +'$staged + set_color $tide_git_color_dirty; echo -ns ' !'$dirty + set_color $tide_git_color_untracked; echo -ns ' ?'$untracked) +end diff --git a/fish/functions/_tide_item_go.fish b/fish/functions/_tide_item_go.fish new file mode 100644 index 0000000..7c5919f --- /dev/null +++ b/fish/functions/_tide_item_go.fish @@ -0,0 +1,4 @@ +function _tide_item_go + path is $_tide_parent_dirs/go.mod && + _tide_print_item go $tide_go_icon' ' (go version | string match -r "[\d.]+") +end diff --git a/fish/functions/_tide_item_java.fish b/fish/functions/_tide_item_java.fish new file mode 100644 index 0000000..6105acc --- /dev/null +++ b/fish/functions/_tide_item_java.fish @@ -0,0 +1,4 @@ +function _tide_item_java + path is $_tide_parent_dirs/pom.xml && + _tide_print_item java $tide_java_icon' ' (java -version &| string match -r "[\d.]+")[1] +end diff --git a/fish/functions/_tide_item_jobs.fish b/fish/functions/_tide_item_jobs.fish new file mode 100644 index 0000000..96cf902 --- /dev/null +++ b/fish/functions/_tide_item_jobs.fish @@ -0,0 +1,3 @@ +function _tide_item_jobs + set -q _tide_jobs && _tide_print_item jobs $tide_jobs_icon +end diff --git a/fish/functions/_tide_item_kubectl.fish b/fish/functions/_tide_item_kubectl.fish new file mode 100644 index 0000000..ab044b3 --- /dev/null +++ b/fish/functions/_tide_item_kubectl.fish @@ -0,0 +1,4 @@ +function _tide_item_kubectl + kubectl config view --minify --output 'jsonpath={.current-context}/{..namespace}' 2>/dev/null | read -l context && + _tide_print_item kubectl $tide_kubectl_icon' ' (string replace -r '/(|default)$' '' $context) +end diff --git a/fish/functions/_tide_item_nix_shell.fish b/fish/functions/_tide_item_nix_shell.fish new file mode 100644 index 0000000..647f606 --- /dev/null +++ b/fish/functions/_tide_item_nix_shell.fish @@ -0,0 +1,3 @@ +function _tide_item_nix_shell + set -q IN_NIX_SHELL && _tide_print_item nix_shell $tide_nix_shell_icon' ' $IN_NIX_SHELL +end diff --git a/fish/functions/_tide_item_node.fish b/fish/functions/_tide_item_node.fish new file mode 100644 index 0000000..0588051 --- /dev/null +++ b/fish/functions/_tide_item_node.fish @@ -0,0 +1,4 @@ +function _tide_item_node + path is $_tide_parent_dirs/package.json && + _tide_print_item node $tide_node_icon' ' (node --version | string trim --chars=v) +end diff --git a/fish/functions/_tide_item_os.fish b/fish/functions/_tide_item_os.fish new file mode 100644 index 0000000..8a6208c --- /dev/null +++ b/fish/functions/_tide_item_os.fish @@ -0,0 +1,3 @@ +function _tide_item_os + _tide_print_item os $tide_os_icon +end diff --git a/fish/functions/_tide_item_php.fish b/fish/functions/_tide_item_php.fish new file mode 100644 index 0000000..abc104e --- /dev/null +++ b/fish/functions/_tide_item_php.fish @@ -0,0 +1,4 @@ +function _tide_item_php + path is $_tide_parent_dirs/composer.json && + _tide_print_item php $tide_php_icon' ' (php --version | string match -r 'PHP ([\d.]+)')[2] +end diff --git a/fish/functions/_tide_item_private_mode.fish b/fish/functions/_tide_item_private_mode.fish new file mode 100644 index 0000000..4eb4684 --- /dev/null +++ b/fish/functions/_tide_item_private_mode.fish @@ -0,0 +1,3 @@ +function _tide_item_private_mode + set -q _tide_private_mode && _tide_print_item private_mode $tide_private_mode_icon +end diff --git a/fish/functions/_tide_item_rustc.fish b/fish/functions/_tide_item_rustc.fish new file mode 100644 index 0000000..2e71645 --- /dev/null +++ b/fish/functions/_tide_item_rustc.fish @@ -0,0 +1,4 @@ +function _tide_item_rustc + path is $_tide_parent_dirs/Cargo.toml && + _tide_print_item rustc $tide_rustc_icon' ' (rustc --version | string split ' ')[2] +end diff --git a/fish/functions/_tide_item_shlvl.fish b/fish/functions/_tide_item_shlvl.fish new file mode 100644 index 0000000..95dd5ff --- /dev/null +++ b/fish/functions/_tide_item_shlvl.fish @@ -0,0 +1,4 @@ +function _tide_item_shlvl + # Non-interactive shells do not increment SHLVL, so we don't need to subtract 1 + test $SHLVL -gt $tide_shlvl_threshold && _tide_print_item shlvl $tide_shlvl_icon' ' $SHLVL +end diff --git a/fish/functions/_tide_item_status.fish b/fish/functions/_tide_item_status.fish new file mode 100644 index 0000000..3a040fd --- /dev/null +++ b/fish/functions/_tide_item_status.fish @@ -0,0 +1,15 @@ +function _tide_item_status + if string match -qv 0 $_tide_pipestatus # If there is a failure anywhere in the pipestatus + if test "$_tide_pipestatus" = 1 # If simple failure + contains character $_tide_left_items || tide_status_bg_color=$tide_status_bg_color_failure \ + tide_status_color=$tide_status_color_failure _tide_print_item status $tide_status_icon_failure' ' 1 + else + fish_status_to_signal $_tide_pipestatus | string replace SIG '' | string join '|' | read -l out + test $_tide_status = 0 && _tide_print_item status $tide_status_icon' ' $out || + tide_status_bg_color=$tide_status_bg_color_failure tide_status_color=$tide_status_color_failure \ + _tide_print_item status $tide_status_icon_failure' ' $out + end + else if not contains character $_tide_left_items + _tide_print_item status $tide_status_icon + end +end diff --git a/fish/functions/_tide_item_terraform.fish b/fish/functions/_tide_item_terraform.fish new file mode 100644 index 0000000..8d99fb7 --- /dev/null +++ b/fish/functions/_tide_item_terraform.fish @@ -0,0 +1,6 @@ +function _tide_item_terraform + if path is $_tide_parent_dirs/.terraform + terraform workspace show | read -l workspace + test $workspace != default && _tide_print_item terraform $tide_terraform_icon' ' $workspace + end +end diff --git a/fish/functions/_tide_item_time.fish b/fish/functions/_tide_item_time.fish new file mode 100644 index 0000000..b8522bc --- /dev/null +++ b/fish/functions/_tide_item_time.fish @@ -0,0 +1,3 @@ +function _tide_item_time + _tide_print_item time (date +$tide_time_format) +end diff --git a/fish/functions/_tide_item_toolbox.fish b/fish/functions/_tide_item_toolbox.fish new file mode 100644 index 0000000..28975d3 --- /dev/null +++ b/fish/functions/_tide_item_toolbox.fish @@ -0,0 +1,3 @@ +function _tide_item_toolbox + test -e /run/.toolboxenv && _tide_print_item toolbox $tide_toolbox_icon' ' $hostname +end diff --git a/fish/functions/_tide_item_vi_mode.fish b/fish/functions/_tide_item_vi_mode.fish new file mode 100644 index 0000000..582855d --- /dev/null +++ b/fish/functions/_tide_item_vi_mode.fish @@ -0,0 +1,16 @@ +function _tide_item_vi_mode + test "$fish_key_bindings" != fish_default_key_bindings && switch $fish_bind_mode + case default + tide_vi_mode_bg_color=$tide_vi_mode_bg_color_default tide_vi_mode_color=$tide_vi_mode_color_default \ + _tide_print_item vi_mode $tide_vi_mode_icon_default + case insert + tide_vi_mode_bg_color=$tide_vi_mode_bg_color_insert tide_vi_mode_color=$tide_vi_mode_color_insert \ + _tide_print_item vi_mode $tide_vi_mode_icon_insert + case replace replace_one + tide_vi_mode_bg_color=$tide_vi_mode_bg_color_replace tide_vi_mode_color=$tide_vi_mode_color_replace \ + _tide_print_item vi_mode $tide_vi_mode_icon_replace + case visual + tide_vi_mode_bg_color=$tide_vi_mode_bg_color_visual tide_vi_mode_color=$tide_vi_mode_color_visual \ + _tide_print_item vi_mode $tide_vi_mode_icon_visual + end +end diff --git a/fish/functions/_tide_item_virtual_env.fish b/fish/functions/_tide_item_virtual_env.fish new file mode 100644 index 0000000..0f20cee --- /dev/null +++ b/fish/functions/_tide_item_virtual_env.fish @@ -0,0 +1,11 @@ +function _tide_item_virtual_env + test -n "$VIRTUAL_ENV" && split_virtual_env=(string split / "$VIRTUAL_ENV") if test $split_virtual_env[-2] = virtualenvs + # pipenv $VIRTUAL_ENV looks like /home/ilan/.local/share/virtualenvs/pipenv_project-EwRYuc3l + # Detect whether we are using pipenv by looking for virtualenvs. If so, remove the hash at the end. + _tide_print_item virtual_env $tide_virtual_env_icon' ' (string split -r -m1 - "$split_virtual_env[-1]")[1] + else if contains -- $split_virtual_env[-1] virtualenv venv .venv env # avoid generic names + _tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-2] + else + _tide_print_item virtual_env $tide_virtual_env_icon' ' $split_virtual_env[-1] + end +end diff --git a/fish/functions/_tide_parent_dirs.fish b/fish/functions/_tide_parent_dirs.fish new file mode 100644 index 0000000..9f31b04 --- /dev/null +++ b/fish/functions/_tide_parent_dirs.fish @@ -0,0 +1,7 @@ +function _tide_parent_dirs --on-variable PWD + set -g _tide_parent_dirs (string escape ( + for dir in (string split / -- $PWD) + set -la parts $dir + string join / -- $parts + end)) +end diff --git a/fish/functions/_tide_print_item.fish b/fish/functions/_tide_print_item.fish new file mode 100644 index 0000000..db5c98b --- /dev/null +++ b/fish/functions/_tide_print_item.fish @@ -0,0 +1,22 @@ +function _tide_print_item -a item + v=tide_"$item"_bg_color set -f item_bg_color $$v + + if set -e add_prefix + set_color $item_bg_color -b normal + v=tide_"$_tide_side"_prompt_prefix echo -ns $$v + else if test "$item_bg_color" = "$prev_bg_color" + v=tide_"$_tide_side"_prompt_separator_same_color echo -ns $_tide_color_separator_same_color$$v + else if test $_tide_side = left + set_color $prev_bg_color -b $item_bg_color + echo -ns $tide_left_prompt_separator_diff_color + else + set_color $item_bg_color -b $prev_bg_color + echo -ns $tide_right_prompt_separator_diff_color + end + + v=tide_"$item"_color set_color $$v -b $item_bg_color + + echo -ns $_tide_pad $argv[2..] $_tide_pad + + set -g prev_bg_color $item_bg_color +end diff --git a/fish/functions/_tide_pwd.fish b/fish/functions/_tide_pwd.fish new file mode 100644 index 0000000..3bd53b0 --- /dev/null +++ b/fish/functions/_tide_pwd.fish @@ -0,0 +1,37 @@ +set_color -o $tide_pwd_color_anchors | read -l color_anchors +set_color $tide_pwd_color_truncated_dirs | read -l color_truncated +set -l reset_to_color_dirs (set_color normal -b $tide_pwd_bg_color; set_color $tide_pwd_color_dirs) + +set -l unwritable_icon $tide_pwd_icon_unwritable' ' +set -l home_icon $tide_pwd_icon_home' ' +set -l pwd_icon $tide_pwd_icon' ' + +eval "function _tide_pwd + if set -l split_pwd (string replace -r '^$HOME' '~' -- \$PWD | string split /) + test -w . && set -f split_output \"$pwd_icon\$split_pwd[1]\" \$split_pwd[2..] || + set -f split_output \"$unwritable_icon\$split_pwd[1]\" \$split_pwd[2..] + set split_output[-1] \"$color_anchors\$split_output[-1]$reset_to_color_dirs\" + else + set -f split_output \"$home_icon$color_anchors~\" + end + + string join / -- \$split_output | string length -V | read -g _tide_pwd_len + + i=1 for dir_section in \$split_pwd[2..-2] + string join -- / \$split_pwd[..\$i] | string replace '~' $HOME | read -l parent_dir # Uses i before increment + + math \$i+1 | read i + + if path is \$parent_dir/\$dir_section/\$tide_pwd_markers + set split_output[\$i] \"$color_anchors\$dir_section$reset_to_color_dirs\" + else if test \$_tide_pwd_len -gt \$dist_btwn_sides + set -l trunc + while string match -qr \"(?\$trunc.)\" \$dir_section && v=\$parent_dir/\$trunc*/ set -q v[2] + end + test -n \"\$trunc\" && set split_output[\$i] \"$color_truncated\$trunc$reset_to_color_dirs\" && + string join / \$split_output | string length -V | read _tide_pwd_len + end + end + + string join -- / \"$reset_to_color_dirs\$split_output[1]\" \$split_output[2..] +end" diff --git a/fish/functions/_tide_remove_unusable_items.fish b/fish/functions/_tide_remove_unusable_items.fish new file mode 100644 index 0000000..f1111cb --- /dev/null +++ b/fish/functions/_tide_remove_unusable_items.fish @@ -0,0 +1,21 @@ +function _tide_remove_unusable_items + # Remove tool-specific items for tools the machine doesn't have installed + set -l removed_items + for item in aws chruby crystal docker git go java kubectl nix_shell node php rustc terraform toolbox virtual_env + set -l cli_names $item + switch $item + case virtual_env + set cli_names python python3 + case nix_shell + set cli_names nix nix-shell + end + type --query $cli_names || set -a removed_items $item + end + + set -U _tide_left_items (for item in $tide_left_prompt_items + contains $item $removed_items || echo $item + end) + set -U _tide_right_items (for item in $tide_right_prompt_items + contains $item $removed_items || echo $item + end) +end diff --git a/fish/functions/_tide_sub_bug-report.fish b/fish/functions/_tide_sub_bug-report.fish new file mode 100644 index 0000000..5f087c8 --- /dev/null +++ b/fish/functions/_tide_sub_bug-report.fish @@ -0,0 +1,73 @@ +function _tide_sub_bug-report + argparse c/clean v/verbose check -- $argv + + set -l fish_path (status fish-path) + + if set -q _flag_clean + HOME=(mktemp -d) $fish_path --init-command "curl --silent \ + https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | + source && fisher install ilancosman/tide@v5" + else if set -q _flag_verbose + set --long | string match -r "^_?tide.*" | # Get only tide variables + string match -r --invert "^_tide_prompt_var.*" # Remove _tide_prompt_var + else + set -l fish_version ($fish_path --version | string match -r "fish, version (\d\.\d\.\d)")[2] + _tide_check_version Fish fish-shell/fish-shell "(\d\.\d\.\d)" $fish_version || return + + set -l tide_version (tide --version | string match -r "tide, version (\d\.\d\.\d)")[2] + _tide_check_version Tide IlanCosman/tide "v(\d\.\d\.\d)" $tide_version || return + + if command --query git + test (git --version | string match -r "git version ([\d\.]*)" | string replace --all . '')[2] -gt 2220 + _tide_check_condition \ + "Your git version is too old." \ + "Tide requires at least version 2.22." \ + "Please update before submitting a bug report." || return + end + + # Check that omf is not installed + not functions --query omf + _tide_check_condition \ + "Tide does not work with oh-my-fish installed." \ + "Please uninstall it before submitting a bug report." || return + + if not set -q _flag_check + set -l fish_startup_time ($fish_path -ic "time $fish_path -c exit" 2>| + string match -r "Executed in(.*)fish" | string trim)[2] + + read --local --prompt-str "What operating system are you using? (e.g Ubuntu 20.04): " os + read --local --prompt-str "What terminal emulator are you using? (e.g Kitty): " terminal_emulator + + printf '%b\n' "\nPlease copy the following information into the issue:\n" \ + "fish version: $fish_version" \ + "tide version: $tide_version" \ + "term: $TERM" \ + "os: $os" \ + "terminal emulator: $terminal_emulator" \ + "fish startup: $fish_startup_time" \ + "fisher plugins: $_fisher_plugins" + end + end +end + +function _tide_check_version -a program_name repo_name regex_to_get_version current_version + curl --silent https://github.com/$repo_name/releases/latest | + string match -r ".*$repo_name/releases/tag/$regex_to_get_version.*" | + read --local --line __ latestVersion + + string match --quiet -r "^$latestVersion" "$current_version" + _tide_check_condition \ + "Your $program_name version is out of date." \ + "The latest is $latestVersion. You have $current_version." \ + "Please update before submitting a bug report." +end + +function _tide_check_condition + if test "$status" != 0 + set_color red + printf '%s\n' $argv + set_color normal + return 1 + end + return 0 +end diff --git a/fish/functions/_tide_sub_configure.fish b/fish/functions/_tide_sub_configure.fish new file mode 100644 index 0000000..cb87290 --- /dev/null +++ b/fish/functions/_tide_sub_configure.fish @@ -0,0 +1,95 @@ +set -g _tide_color_dark_blue 0087AF +set -g _tide_color_dark_green 5FAF00 +set -g _tide_color_gold D7AF00 +set -g _tide_color_green 5FD700 +set -g _tide_color_light_blue 00AFFF + +# Create an empty fake function for each item +for func in _fake(functions --all | string match --entire _tide_item) + function $func + end +end + +for file in (status dirname)/tide/configure/{choices, functions}/**.fish + source $file +end + +function _tide_sub_configure + if test $COLUMNS -lt 55 -o $LINES -lt 21 + echo 'Terminal size too small; must be at least 55 x 21' + return 1 + end + + _tide_detect_os | read -g --line os_branding_icon os_branding_color os_branding_bg_color + + set -g fake_columns $COLUMNS + test $fake_columns -gt 90 && set fake_columns 90 + set -g fake_lines $LINES + + set -g _tide_selected_option + _next_choice all/style +end + +function _next_choice -a nextChoice + set -q _tide_selected_option || return 0 + set -l cmd (string split '/' $nextChoice)[2] + $cmd +end + +function _tide_title -a text + command -q clear && clear + set_color -o + string pad --width (math --scale=0 "$fake_columns/2" + (string length $text)/2) $text + set_color normal +end + +function _tide_option -a symbol text + set -ga _tide_option_list $symbol + + set_color -o + echo "($symbol) $text" + set_color normal +end + +function _tide_menu + set -l list_with_slashes (string join '/' $_tide_option_list) + + echo '(r) Restart from the beginning' + echo '(q) Quit and do nothing'\n + + while true + set_color -o + read --nchars 1 --prompt-str "Choice [$list_with_slashes/r/q] " input + set_color normal + + switch $input + case r + set -e _tide_option_list + _next_choice all/style + break + case q + set -e _tide_selected_option # Skip through all the _next_choices + set -e _tide_option_list + command -q clear && clear + break + case $_tide_option_list + set -e _tide_option_list + set -g _tide_selected_option $input + break + end + end +end + +function _tide_display_prompt -a var_name var_value + test -n "$var_name" && set -g $var_name $var_value + _fake_tide_cache_variables + set -l prompt (_fake_tide_prompt) + + set -l bottom_left_prompt_string_length (string length --visible $prompt[-1]) + set -l right_prompt_string (string pad --width (math $fake_columns-$bottom_left_prompt_string_length) $prompt[1]) + set -l prompt[-1] "$prompt[-1]$right_prompt_string" + + string unescape $prompt[2..] + set_color normal + echo +end diff --git a/fish/functions/fish_mode_prompt.fish b/fish/functions/fish_mode_prompt.fish new file mode 100644 index 0000000..f37cf7d --- /dev/null +++ b/fish/functions/fish_mode_prompt.fish @@ -0,0 +1 @@ +# Disable default vi prompt diff --git a/fish/functions/fish_prompt.fish b/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..3e820c4 --- /dev/null +++ b/fish/functions/fish_prompt.fish @@ -0,0 +1,90 @@ +function fish_prompt +end # In case this file gets loaded non-interactively, e.g by conda +status is-interactive || exit + +_tide_remove_unusable_items +_tide_cache_variables +_tide_parent_dirs +source (functions --details _tide_pwd) + +set -l prompt_var _tide_prompt_$fish_pid +set -U $prompt_var # Set var here so if we erase $prompt_var, bg job won't set a uvar + +set_color normal | read -l color_normal +status fish-path | read -l fish_path + +# _tide_repaint prevents us from creating a second background job +function _tide_refresh_prompt --on-variable $prompt_var --on-variable COLUMNS + set -g _tide_repaint + commandline -f repaint +end + +if contains newline $_tide_left_items # two line prompt initialization + test "$tide_prompt_add_newline_before" = true && set -l add_newline '\n' + + set_color $tide_prompt_color_frame_and_connection -b normal | read -l prompt_and_frame_color + + set -l column_offset 5 + test "$tide_left_prompt_frame_enabled" = true && + set -l top_left_frame "$prompt_and_frame_color╭─" && + set -l bot_left_frame "$prompt_and_frame_color╰─" && + set column_offset (math $column_offset-2) + test "$tide_right_prompt_frame_enabled" = true && + set -l top_right_frame "$prompt_and_frame_color─╮" && + set -l bot_right_frame "$prompt_and_frame_color─╯" && + set column_offset (math $column_offset-2) + + eval " +function fish_prompt + _tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint + jobs -q && set -lx _tide_jobs + $fish_path -c \"set _tide_pipestatus \$_tide_pipestatus +set _tide_parent_dirs \$_tide_parent_dirs +PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_2_line_prompt)\" & + builtin disown + + command kill \$_tide_last_pid 2>/dev/null + set -g _tide_last_pid \$last_pid + end + + math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][3]\")+$column_offset | read -lx dist_btwn_sides + + echo -ns $add_newline'$top_left_frame'(string replace @PWD@ (_tide_pwd) \"\$$prompt_var[1][1]\")'$prompt_and_frame_color' + string repeat -Nm(math max 0, \$dist_btwn_sides-\$_tide_pwd_len) '$tide_prompt_icon_connection' + echo -ns \"\$$prompt_var[1][3]$top_right_frame\"\n\"$bot_left_frame\$$prompt_var[1][2]$color_normal \" +end + +function fish_right_prompt + string unescape \"\$$prompt_var[1][4]$bot_right_frame$color_normal\" +end" +else # one line prompt initialization + test "$tide_prompt_add_newline_before" = true && set -l add_newline '\0' + + math 5 -$tide_prompt_min_cols | read -l column_offset + test $column_offset -ge 0 && set column_offset "+$column_offset" + + eval " +function fish_prompt + _tide_status=\$status _tide_pipestatus=\$pipestatus if not set -e _tide_repaint + jobs -q && set -lx _tide_jobs + $fish_path -c \"set _tide_pipestatus \$_tide_pipestatus +set _tide_parent_dirs \$_tide_parent_dirs +PATH=\$(string escape \"\$PATH\") CMD_DURATION=\$CMD_DURATION fish_bind_mode=\$fish_bind_mode set $prompt_var (_tide_1_line_prompt)\" & + builtin disown + + command kill \$_tide_last_pid 2>/dev/null + set -g _tide_last_pid \$last_pid + end + + math \$COLUMNS-(string length -V \"\$$prompt_var[1][1]\$$prompt_var[1][2]\")$column_offset | read -lx dist_btwn_sides + string replace @PWD@ (_tide_pwd) $add_newline \$$prompt_var[1][1]'$color_normal ' +end + +function fish_right_prompt + string unescape \"\$$prompt_var[1][2]$color_normal\" +end" +end + +eval "function _tide_on_fish_exit --on-event fish_exit + set -e $prompt_var +end" diff --git a/fish/functions/nheko.fish b/fish/functions/nheko.fish new file mode 100644 index 0000000..78672b0 --- /dev/null +++ b/fish/functions/nheko.fish @@ -0,0 +1,4 @@ +function nheko --description 'alias nheko nheko --style Breeze' + command nheko --style Breeze $argv + +end diff --git a/fish/functions/tide.fish b/fish/functions/tide.fish new file mode 100644 index 0000000..1a58f40 --- /dev/null +++ b/fish/functions/tide.fish @@ -0,0 +1,27 @@ +function tide --description 'Manage your Tide prompt' + argparse --stop-nonopt v/version h/help -- $argv + + if set -q _flag_version + echo 'tide, version 5.5.1' + else if set -q _flag_help + _tide_help + else if functions --query _tide_sub_$argv[1] + _tide_sub_$argv[1] $argv[2..] + else + _tide_help + return 1 + end +end + +function _tide_help + printf %s\n \ + 'Usage: tide [options] subcommand [options]' \ + '' \ + 'Options:' \ + ' -v or --version print tide version number' \ + ' -h or --help print this help message' \ + '' \ + 'Subcommands:' \ + ' configure run interactive configuration wizard' \ + ' bug-report print info for use in bug reports' +end diff --git a/fish/functions/tide/configure/choices/all/finish.fish b/fish/functions/tide/configure/choices/all/finish.fish new file mode 100644 index 0000000..f60a128 --- /dev/null +++ b/fish/functions/tide/configure/choices/all/finish.fish @@ -0,0 +1,33 @@ +function finish + set_color red + _tide_title 'Overwrite tide config?' + set_color normal + + _tide_option y Yes + echo + + _tide_menu + switch $_tide_selected_option + case y + _tide_finish + command -q clear && clear + end +end + +function _tide_finish + set -e _tide_selected_option # Skip through all the _next_choices + + # Deal with prompt char/vi mode + contains character $fake_tide_left_prompt_items || set -p fake_tide_left_prompt_items vi_mode + + # Set the real variables + for fakeVar in (set --names | string match -r "^fake_tide.*") + set -U (string replace 'fake_' '' $fakeVar) $$fakeVar + end + + # Make sure old prompt won't display + set -e $_tide_prompt_var 2>/dev/null + + # Re-initialize the prompt + source (functions --details fish_prompt) +end diff --git a/fish/functions/tide/configure/choices/all/icons.fish b/fish/functions/tide/configure/choices/all/icons.fish new file mode 100644 index 0000000..e53bffa --- /dev/null +++ b/fish/functions/tide/configure/choices/all/icons.fish @@ -0,0 +1,33 @@ +function icons + _tide_title Icons + + _tide_option 1 'Few icons' + _tide_display_prompt + + _tide_option 2 'Many icons' + _enable_icons + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + _disable_icons + end + _next_choice all/finish +end + +function _enable_icons + set -p fake_tide_left_prompt_items os + set -g fake_tide_pwd_icon  + set -g fake_tide_pwd_icon_home  + set -g fake_tide_cmd_duration_icon  + set -g fake_tide_git_icon  +end + +function _disable_icons + _tide_find_and_remove os fake_tide_left_prompt_items + set fake_tide_pwd_icon + set fake_tide_pwd_icon_home + set fake_tide_cmd_duration_icon + set fake_tide_git_icon +end diff --git a/fish/functions/tide/configure/choices/all/prompt_colors.fish b/fish/functions/tide/configure/choices/all/prompt_colors.fish new file mode 100644 index 0000000..90b1a9d --- /dev/null +++ b/fish/functions/tide/configure/choices/all/prompt_colors.fish @@ -0,0 +1,26 @@ +function prompt_colors + _tide_title 'Prompt Colors' + + _tide_option 1 'True color' + _tide_display_prompt + + _tide_option 2 '16 colors' + _load_config "$_tide_configure_style"_16color + set -g _tide_16color true + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + _load_config "$_tide_configure_style" + set -e _tide_16color + switch $_tide_configure_style + case lean rainbow + _next_choice all/show_time + case classic + _next_choice classic/classic_prompt_color + end + case 2 + _next_choice all/show_time + end +end diff --git a/fish/functions/tide/configure/choices/all/prompt_connection.fish b/fish/functions/tide/configure/choices/all/prompt_connection.fish new file mode 100644 index 0000000..ae31ef3 --- /dev/null +++ b/fish/functions/tide/configure/choices/all/prompt_connection.fish @@ -0,0 +1,28 @@ +function prompt_connection + _tide_title 'Prompt Connection' + + _tide_option 1 Disconnected + _tide_display_prompt fake_tide_prompt_icon_connection ' ' + + _tide_option 2 Dotted + _tide_display_prompt fake_tide_prompt_icon_connection '·' + + _tide_option 3 Solid + _tide_display_prompt fake_tide_prompt_icon_connection '─' + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_prompt_icon_connection ' ' + case 2 + set -g fake_tide_prompt_icon_connection '·' + case 3 + set -g fake_tide_prompt_icon_connection '─' + end + switch $_tide_configure_style + case lean + _next_choice all/prompt_connection_andor_frame_color + case classic rainbow + _next_choice powerline/powerline_prompt_frame + end +end diff --git a/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish b/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish new file mode 100644 index 0000000..b8803b4 --- /dev/null +++ b/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish @@ -0,0 +1,36 @@ +function prompt_connection_andor_frame_color + if test "$_tide_16color" = true || + test "$fake_tide_left_prompt_frame_enabled" = false -a \ + "$fake_tide_right_prompt_frame_enabled" = false -a \ + "$fake_tide_prompt_icon_connection" = ' ' + _next_choice all/prompt_spacing + return 0 + end + + _tide_title "Connection & Frame Color" + + _tide_option 1 Lightest + _tide_display_prompt fake_tide_prompt_color_frame_and_connection 808080 + + _tide_option 2 Light + _tide_display_prompt fake_tide_prompt_color_frame_and_connection 6C6C6C + + _tide_option 3 Dark + _tide_display_prompt fake_tide_prompt_color_frame_and_connection 585858 + + _tide_option 4 Darkest + _tide_display_prompt fake_tide_prompt_color_frame_and_connection 444444 + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_prompt_color_frame_and_connection 808080 + case 2 + set -g fake_tide_prompt_color_frame_and_connection 6C6C6C + case 3 + set -g fake_tide_prompt_color_frame_and_connection 585858 + case 4 + set -g fake_tide_prompt_color_frame_and_connection 444444 + end + _next_choice all/prompt_spacing +end diff --git a/fish/functions/tide/configure/choices/all/prompt_spacing.fish b/fish/functions/tide/configure/choices/all/prompt_spacing.fish new file mode 100644 index 0000000..a5bb98b --- /dev/null +++ b/fish/functions/tide/configure/choices/all/prompt_spacing.fish @@ -0,0 +1,21 @@ +function prompt_spacing + _tide_title 'Prompt Spacing' + + _tide_option 1 Compact + _tide_display_prompt + printf \e\[1A # Move cursor up 1 row + _tide_display_prompt + + _tide_option 2 Sparse + _tide_display_prompt + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_prompt_add_newline_before false + case 2 + set -g fake_tide_prompt_add_newline_before true + end + _next_choice all/icons +end diff --git a/fish/functions/tide/configure/choices/all/show_time.fish b/fish/functions/tide/configure/choices/all/show_time.fish new file mode 100644 index 0000000..8cf1843 --- /dev/null +++ b/fish/functions/tide/configure/choices/all/show_time.fish @@ -0,0 +1,31 @@ +function show_time + _tide_title 'Show current time?' + + _tide_option 1 No + _tide_display_prompt + + set -a fake_tide_right_prompt_items time + + _tide_option 2 '24-hour format' + _tide_display_prompt fake_tide_time_format %T + + _tide_option 3 '12-hour format' + _tide_display_prompt fake_tide_time_format '%r' + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_time_format '' + set -e fake_tide_right_prompt_items[-1] + case 2 + set -g fake_tide_time_format %T + case 3 + set -g fake_tide_time_format '%r' + end + switch $_tide_configure_style + case lean + _next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_height + case classic rainbow + _next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_separators + end +end diff --git a/fish/functions/tide/configure/choices/all/style.fish b/fish/functions/tide/configure/choices/all/style.fish new file mode 100644 index 0000000..ae52bc5 --- /dev/null +++ b/fish/functions/tide/configure/choices/all/style.fish @@ -0,0 +1,57 @@ +function style + _tide_title 'Prompt Style' + + _tide_option 1 Lean + _load_config lean + _tide_display_prompt + + _tide_option 2 Classic + _load_config classic + _tide_display_prompt + + _tide_option 3 Rainbow + _load_config rainbow + _tide_display_prompt + + _tide_style_menu + switch $_tide_selected_option + case 1 + _load_config lean + set -g _tide_configure_style lean + case 2 + _load_config classic + set -g _tide_configure_style classic + case 3 + _load_config rainbow + set -g _tide_configure_style rainbow + end + _next_choice all/prompt_colors +end + +function _load_config -a name + string replace -r '^' 'set -g fake_' <(status dirname)/../../configs/$name.fish | source +end + +function _tide_style_menu # Exactly like _tide_menu except that it doesn't have (r) option + set -l list_with_slashes (string join '/' $_tide_option_list) + + echo '(q) Quit and do nothing'\n + + while true + set_color -o + read --nchars 1 --prompt-str "Choice [$list_with_slashes/q] " input + set_color normal + + switch $input + case q + set -e _tide_selected_option # Skip through all the _next_choices + set -e _tide_option_list + command -q clear && clear + break + case $_tide_option_list + set -e _tide_option_list + set -g _tide_selected_option $input + break + end + end +end diff --git a/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish b/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish new file mode 100644 index 0000000..2189f36 --- /dev/null +++ b/fish/functions/tide/configure/choices/classic/classic_prompt_color.fish @@ -0,0 +1,38 @@ +function classic_prompt_color + _tide_title 'Prompt Color' + + _tide_option 1 Lightest + _set_all_items_bg_color 585858 + _tide_display_prompt + + _tide_option 2 Light + _set_all_items_bg_color 444444 + _tide_display_prompt + + _tide_option 3 Dark + _set_all_items_bg_color 303030 + _tide_display_prompt + + _tide_option 4 Darkest + _set_all_items_bg_color 1C1C1C + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + _set_all_items_bg_color 585858 + case 2 + _set_all_items_bg_color 444444 + case 3 + _set_all_items_bg_color 303030 + case 4 + _set_all_items_bg_color 1C1C1C + end + _next_choice all/show_time +end + +function _set_all_items_bg_color -a color + for var in (set --names | string match -r "fake_.*_bg_color.*") + set $var $color + end +end diff --git a/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish b/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish new file mode 100644 index 0000000..17b88e4 --- /dev/null +++ b/fish/functions/tide/configure/choices/classic/classic_prompt_separators.fish @@ -0,0 +1,40 @@ +function classic_prompt_separators + _tide_title 'Prompt Separators' + + _tide_option 1 Angled + set -g fake_tide_left_prompt_separator_same_color  + set -g fake_tide_right_prompt_separator_same_color  + _tide_display_prompt + + _tide_option 2 Vertical + set -g fake_tide_left_prompt_separator_same_color '│' + set -g fake_tide_right_prompt_separator_same_color '│' + _tide_display_prompt + + _tide_option 3 Slanted + set -g fake_tide_left_prompt_separator_same_color '╱' + set -g fake_tide_right_prompt_separator_same_color '╱' + _tide_display_prompt + + _tide_option 4 Round + set -g fake_tide_left_prompt_separator_same_color '' + set -g fake_tide_right_prompt_separator_same_color '' + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_left_prompt_separator_same_color  + set -g fake_tide_right_prompt_separator_same_color  + case 2 + set -g fake_tide_left_prompt_separator_same_color '│' + set -g fake_tide_right_prompt_separator_same_color '│' + case 3 + set -g fake_tide_left_prompt_separator_same_color '╱' + set -g fake_tide_right_prompt_separator_same_color '╱' + case 4 + set -g fake_tide_left_prompt_separator_same_color '' + set -g fake_tide_right_prompt_separator_same_color '' + end + _next_choice powerline/powerline_prompt_heads +end diff --git a/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish b/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish new file mode 100644 index 0000000..4db04a8 --- /dev/null +++ b/fish/functions/tide/configure/choices/lean/lean_prompt_height.fish @@ -0,0 +1,26 @@ +function lean_prompt_height + _tide_title 'Prompt Height' + + _tide_option 1 'One line' + _tide_find_and_remove newline fake_tide_left_prompt_items + set -g fake_tide_left_prompt_suffix '' + _tide_display_prompt + + _tide_option 2 'Two lines' + set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items[1..-2] newline $fake_tide_left_prompt_items[-1] + set -g fake_tide_left_prompt_suffix ' ' + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + _tide_find_and_remove newline fake_tide_left_prompt_items + set fake_tide_left_prompt_suffix '' + _next_choice all/prompt_connection_andor_frame_color + case 2 + _tide_find_and_remove newline fake_tide_left_prompt_items + set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items[1..-2] newline $fake_tide_left_prompt_items[-1] + set -g fake_tide_left_prompt_suffix ' ' + _next_choice all/prompt_connection + end +end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish new file mode 100644 index 0000000..19b3588 --- /dev/null +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_frame.fish @@ -0,0 +1,46 @@ +function powerline_prompt_frame + _tide_title 'Prompt Frame' + + _tide_option 1 'No frame' + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + set -a fake_tide_left_prompt_items character + _tide_display_prompt + set -e fake_tide_left_prompt_items[-1] + + _tide_option 2 Left + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled false + _tide_display_prompt + + _tide_option 3 Right + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled true + set -a fake_tide_left_prompt_items character + _tide_display_prompt + set -e fake_tide_left_prompt_items[-1] + + _tide_option 4 Full + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + set -a fake_tide_left_prompt_items character + case 2 + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled false + case 3 + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled true + set -a fake_tide_left_prompt_items character + case 4 + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + end + _next_choice all/prompt_connection_andor_frame_color +end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish new file mode 100644 index 0000000..ac187c9 --- /dev/null +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_heads.fish @@ -0,0 +1,40 @@ +function powerline_prompt_heads + _tide_title 'Prompt Heads' + + _tide_option 1 Sharp + set -g fake_tide_left_prompt_suffix  + set -g fake_tide_right_prompt_prefix  + _tide_display_prompt + + _tide_option 2 Blurred + set -g fake_tide_left_prompt_suffix '▓▒░' + set -g fake_tide_right_prompt_prefix '░▒▓' + _tide_display_prompt + + _tide_option 3 Slanted + set -g fake_tide_left_prompt_suffix '' + set -g fake_tide_right_prompt_prefix '' + _tide_display_prompt + + _tide_option 4 Round + set -g fake_tide_left_prompt_suffix '' + set -g fake_tide_right_prompt_prefix '' + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_left_prompt_suffix  + set -g fake_tide_right_prompt_prefix  + case 2 + set -g fake_tide_left_prompt_suffix '▓▒░' + set -g fake_tide_right_prompt_prefix '░▒▓' + case 3 + set -g fake_tide_left_prompt_suffix '' + set -g fake_tide_right_prompt_prefix '' + case 4 + set -g fake_tide_left_prompt_suffix '' + set -g fake_tide_right_prompt_prefix '' + end + _next_choice powerline/powerline_prompt_tails +end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish new file mode 100644 index 0000000..83fef05 --- /dev/null +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_height.fish @@ -0,0 +1,30 @@ +function powerline_prompt_height + _tide_title 'Prompt Height' + + _tide_option 1 'One line' + _tide_find_and_remove newline fake_tide_left_prompt_items + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + _tide_display_prompt + + _tide_option 2 'Two lines' + set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items newline + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + _tide_find_and_remove newline fake_tide_left_prompt_items + set fake_tide_left_prompt_frame_enabled false + set fake_tide_right_prompt_frame_enabled false + _next_choice all/prompt_connection_andor_frame_color + case 2 + _tide_find_and_remove newline fake_tide_left_prompt_items + set -g fake_tide_left_prompt_items $fake_tide_left_prompt_items newline + set fake_tide_left_prompt_frame_enabled true + set fake_tide_right_prompt_frame_enabled true + _next_choice all/prompt_connection + end +end diff --git a/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish b/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish new file mode 100644 index 0000000..02f4609 --- /dev/null +++ b/fish/functions/tide/configure/choices/powerline/powerline_prompt_tails.fish @@ -0,0 +1,48 @@ +function powerline_prompt_tails + _tide_title 'Prompt Tails' + + _tide_option 1 Flat + set -g fake_tide_left_prompt_prefix '' + set -g fake_tide_right_prompt_suffix '' + _tide_display_prompt + + _tide_option 2 Blurred + set -g fake_tide_left_prompt_prefix '░▒▓' + set -g fake_tide_right_prompt_suffix '▓▒░' + _tide_display_prompt + + _tide_option 3 Sharp + set -g fake_tide_left_prompt_prefix  + set -g fake_tide_right_prompt_suffix  + _tide_display_prompt + + _tide_option 4 Slanted + set -g fake_tide_left_prompt_prefix '' + set -g fake_tide_right_prompt_suffix '' + _tide_display_prompt + + _tide_option 5 Round + set -g fake_tide_left_prompt_prefix '' + set -g fake_tide_right_prompt_suffix '' + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_left_prompt_prefix '' + set -g fake_tide_right_prompt_suffix '' + case 2 + set -g fake_tide_left_prompt_prefix '░▒▓' + set -g fake_tide_right_prompt_suffix '▓▒░' + case 3 + set -g fake_tide_left_prompt_prefix  + set -g fake_tide_right_prompt_suffix  + case 4 + set -g fake_tide_left_prompt_prefix '' + set -g fake_tide_right_prompt_suffix '' + case 5 + set -g fake_tide_left_prompt_prefix '' + set -g fake_tide_right_prompt_suffix '' + end + _next_choice powerline/powerline_prompt_height +end diff --git a/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish b/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish new file mode 100644 index 0000000..29f6ccc --- /dev/null +++ b/fish/functions/tide/configure/choices/rainbow/rainbow_prompt_separators.fish @@ -0,0 +1,40 @@ +function rainbow_prompt_separators + _tide_title 'Prompt Separators' + + _tide_option 1 Angled + set -g fake_tide_left_prompt_separator_diff_color  + set -g fake_tide_right_prompt_separator_diff_color  + _tide_display_prompt + + _tide_option 2 Vertical + set -g fake_tide_left_prompt_separator_diff_color '' + set -g fake_tide_right_prompt_separator_diff_color '' + _tide_display_prompt + + _tide_option 3 Slanted + set -g fake_tide_left_prompt_separator_diff_color '' + set -g fake_tide_right_prompt_separator_diff_color '' + _tide_display_prompt + + _tide_option 4 Round + set -g fake_tide_left_prompt_separator_diff_color '' + set -g fake_tide_right_prompt_separator_diff_color '' + _tide_display_prompt + + _tide_menu + switch $_tide_selected_option + case 1 + set -g fake_tide_left_prompt_separator_diff_color  + set -g fake_tide_right_prompt_separator_diff_color  + case 2 + set -g fake_tide_left_prompt_separator_diff_color '' + set -g fake_tide_right_prompt_separator_diff_color '' + case 3 + set -g fake_tide_left_prompt_separator_diff_color '' + set -g fake_tide_right_prompt_separator_diff_color '' + case 4 + set -g fake_tide_left_prompt_separator_diff_color '' + set -g fake_tide_right_prompt_separator_diff_color '' + end + _next_choice powerline/powerline_prompt_heads +end diff --git a/fish/functions/tide/configure/configs/classic.fish b/fish/functions/tide/configure/configs/classic.fish new file mode 100644 index 0000000..9b23f37 --- /dev/null +++ b/fish/functions/tide/configure/configs/classic.fish @@ -0,0 +1,133 @@ +tide_aws_bg_color 444444 +tide_aws_color FF9900 +tide_aws_icon  +tide_character_color $_tide_color_green +tide_character_color_failure FF0000 +tide_character_icon ❯ +tide_character_vi_icon_default ❮ +tide_character_vi_icon_replace ▶ +tide_character_vi_icon_visual V +tide_chruby_bg_color 444444 +tide_chruby_color B31209 +tide_chruby_icon  +tide_cmd_duration_bg_color 444444 +tide_cmd_duration_color 87875F +tide_cmd_duration_decimals 0 +tide_cmd_duration_icon +tide_cmd_duration_threshold 3000 +tide_context_always_display false +tide_context_bg_color 444444 +tide_context_color_default D7AF87 +tide_context_color_root $_tide_color_gold +tide_context_color_ssh D7AF87 +tide_context_hostname_parts 1 +tide_crystal_bg_color 444444 +tide_crystal_color FFFFFF +tide_crystal_icon ⬢ +tide_docker_bg_color 444444 +tide_docker_color 2496ED +tide_docker_default_contexts default colima +tide_docker_icon  +tide_git_bg_color 444444 +tide_git_bg_color_unstable 444444 +tide_git_bg_color_urgent 444444 +tide_git_color_branch $_tide_color_green +tide_git_color_conflicted FF0000 +tide_git_color_dirty $_tide_color_gold +tide_git_color_operation FF0000 +tide_git_color_staged $_tide_color_gold +tide_git_color_stash $_tide_color_green +tide_git_color_untracked $_tide_color_light_blue +tide_git_color_upstream $_tide_color_green +tide_git_icon +tide_git_truncation_length 24 +tide_go_bg_color 444444 +tide_go_color 00ACD7 +tide_go_icon  +tide_java_bg_color 444444 +tide_java_color ED8B00 +tide_java_icon  +tide_jobs_bg_color 444444 +tide_jobs_color $_tide_color_dark_green +tide_jobs_icon  +tide_kubectl_bg_color 444444 +tide_kubectl_color 326CE5 +tide_kubectl_icon ⎈ +tide_left_prompt_frame_enabled true +tide_left_prompt_items pwd git newline +tide_left_prompt_prefix '' +tide_left_prompt_separator_diff_color  +tide_left_prompt_separator_same_color  +tide_left_prompt_suffix  +tide_nix_shell_bg_color 444444 +tide_nix_shell_color 7EBAE4 +tide_nix_shell_icon  +tide_node_bg_color 444444 +tide_node_color 44883E +tide_node_icon ⬢ +tide_os_bg_color 444444 +tide_os_color EEEEEE +tide_os_icon $os_branding_icon +tide_php_bg_color 444444 +tide_php_color 617CBE +tide_php_icon  +tide_private_mode_bg_color 444444 +tide_private_mode_color FFFFFF +tide_private_mode_icon 﫸 +tide_prompt_add_newline_before true +tide_prompt_color_frame_and_connection 6C6C6C +tide_prompt_color_separator_same_color 949494 +tide_prompt_icon_connection ' ' +tide_prompt_min_cols 34 +tide_prompt_pad_items true +tide_pwd_bg_color 444444 +tide_pwd_color_anchors $_tide_color_light_blue +tide_pwd_color_dirs $_tide_color_dark_blue +tide_pwd_color_truncated_dirs 8787AF +tide_pwd_icon +tide_pwd_icon_home +tide_pwd_icon_unwritable  +tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json +tide_right_prompt_frame_enabled true +tide_right_prompt_items status cmd_duration context jobs node virtual_env rustc java php chruby go kubectl toolbox terraform aws nix_shell crystal +tide_right_prompt_prefix  +tide_right_prompt_separator_diff_color  +tide_right_prompt_separator_same_color  +tide_right_prompt_suffix '' +tide_rustc_bg_color 444444 +tide_rustc_color F74C00 +tide_rustc_icon  +tide_shlvl_bg_color 444444 +tide_shlvl_color d78700 +tide_shlvl_icon  +tide_shlvl_threshold 1 +tide_status_bg_color 444444 +tide_status_bg_color_failure 444444 +tide_status_color $_tide_color_dark_green +tide_status_color_failure D70000 +tide_status_icon ✔ +tide_status_icon_failure ✘ +tide_terraform_bg_color 444444 +tide_terraform_color 844FBA +tide_terraform_icon +tide_time_bg_color 444444 +tide_time_color 5F8787 +tide_time_format %T +tide_toolbox_bg_color 444444 +tide_toolbox_color 613583 +tide_toolbox_icon ⬢ +tide_vi_mode_bg_color_default 444444 +tide_vi_mode_bg_color_insert 444444 +tide_vi_mode_bg_color_replace 444444 +tide_vi_mode_bg_color_visual 444444 +tide_vi_mode_color_default 949494 +tide_vi_mode_color_insert 87AFAF +tide_vi_mode_color_replace 87AF87 +tide_vi_mode_color_visual FF8700 +tide_vi_mode_icon_default D +tide_vi_mode_icon_insert I +tide_vi_mode_icon_replace R +tide_vi_mode_icon_visual V +tide_virtual_env_bg_color 444444 +tide_virtual_env_color 00AFAF +tide_virtual_env_icon  diff --git a/fish/functions/tide/configure/configs/classic_16color.fish b/fish/functions/tide/configure/configs/classic_16color.fish new file mode 100644 index 0000000..acdc411 --- /dev/null +++ b/fish/functions/tide/configure/configs/classic_16color.fish @@ -0,0 +1,75 @@ +tide_aws_bg_color black +tide_aws_color yellow +tide_character_color brgreen +tide_character_color_failure brred +tide_chruby_bg_color black +tide_chruby_color red +tide_cmd_duration_bg_color black +tide_cmd_duration_color brblack +tide_context_bg_color black +tide_context_color_default yellow +tide_context_color_root bryellow +tide_context_color_ssh yellow +tide_crystal_bg_color black +tide_crystal_color brwhite +tide_docker_bg_color black +tide_docker_color blue +tide_git_bg_color black +tide_git_bg_color_unstable black +tide_git_bg_color_urgent black +tide_git_color_branch brgreen +tide_git_color_conflicted brred +tide_git_color_dirty bryellow +tide_git_color_operation brred +tide_git_color_staged bryellow +tide_git_color_stash brgreen +tide_git_color_untracked brblue +tide_git_color_upstream brgreen +tide_go_bg_color black +tide_go_color brcyan +tide_java_bg_color black +tide_java_color yellow +tide_jobs_bg_color black +tide_jobs_color green +tide_kubectl_bg_color black +tide_kubectl_color blue +tide_nix_shell_bg_color black +tide_nix_shell_color brblue +tide_node_bg_color black +tide_node_color green +tide_os_bg_color black +tide_os_color brwhite +tide_php_bg_color black +tide_php_color blue +tide_private_mode_bg_color black +tide_private_mode_color brwhite +tide_prompt_color_frame_and_connection brblack +tide_prompt_color_separator_same_color brblack +tide_pwd_bg_color black +tide_pwd_color_anchors brcyan +tide_pwd_color_dirs cyan +tide_pwd_color_truncated_dirs magenta +tide_rustc_bg_color black +tide_rustc_color red +tide_shlvl_bg_color black +tide_shlvl_color yellow +tide_status_bg_color black +tide_status_bg_color_failure black +tide_status_color green +tide_status_color_failure red +tide_terraform_bg_color black +tide_terraform_color magenta +tide_time_bg_color black +tide_time_color brblack +tide_toolbox_bg_color black +tide_toolbox_color magenta +tide_vi_mode_bg_color_default black +tide_vi_mode_bg_color_insert black +tide_vi_mode_bg_color_replace black +tide_vi_mode_bg_color_visual black +tide_vi_mode_color_default white +tide_vi_mode_color_insert cyan +tide_vi_mode_color_replace green +tide_vi_mode_color_visual yellow +tide_virtual_env_bg_color black +tide_virtual_env_color cyan diff --git a/fish/functions/tide/configure/configs/lean.fish b/fish/functions/tide/configure/configs/lean.fish new file mode 100644 index 0000000..2565e0a --- /dev/null +++ b/fish/functions/tide/configure/configs/lean.fish @@ -0,0 +1,133 @@ +tide_aws_bg_color normal +tide_aws_color FF9900 +tide_aws_icon  +tide_character_color $_tide_color_green +tide_character_color_failure FF0000 +tide_character_icon ❯ +tide_character_vi_icon_default ❮ +tide_character_vi_icon_replace ▶ +tide_character_vi_icon_visual V +tide_chruby_bg_color normal +tide_chruby_color B31209 +tide_chruby_icon  +tide_cmd_duration_bg_color normal +tide_cmd_duration_color 87875F +tide_cmd_duration_decimals 0 +tide_cmd_duration_icon +tide_cmd_duration_threshold 3000 +tide_context_always_display false +tide_context_bg_color normal +tide_context_color_default D7AF87 +tide_context_color_root $_tide_color_gold +tide_context_color_ssh D7AF87 +tide_context_hostname_parts 1 +tide_crystal_bg_color normal +tide_crystal_color FFFFFF +tide_crystal_icon ⬢ +tide_docker_bg_color normal +tide_docker_color 2496ED +tide_docker_default_contexts default colima +tide_docker_icon  +tide_git_bg_color normal +tide_git_bg_color_unstable normal +tide_git_bg_color_urgent normal +tide_git_color_branch $_tide_color_green +tide_git_color_conflicted FF0000 +tide_git_color_dirty $_tide_color_gold +tide_git_color_operation FF0000 +tide_git_color_staged $_tide_color_gold +tide_git_color_stash $_tide_color_green +tide_git_color_untracked $_tide_color_light_blue +tide_git_color_upstream $_tide_color_green +tide_git_icon +tide_git_truncation_length 24 +tide_go_bg_color normal +tide_go_color 00ACD7 +tide_go_icon  +tide_java_bg_color normal +tide_java_color ED8B00 +tide_java_icon  +tide_jobs_bg_color normal +tide_jobs_color $_tide_color_dark_green +tide_jobs_icon  +tide_kubectl_bg_color normal +tide_kubectl_color 326CE5 +tide_kubectl_icon ⎈ +tide_left_prompt_frame_enabled false +tide_left_prompt_items pwd git newline character +tide_left_prompt_prefix '' +tide_left_prompt_separator_diff_color ' ' +tide_left_prompt_separator_same_color ' ' +tide_left_prompt_suffix ' ' +tide_nix_shell_bg_color normal +tide_nix_shell_color 7EBAE4 +tide_nix_shell_icon  +tide_node_bg_color normal +tide_node_color 44883E +tide_node_icon ⬢ +tide_os_bg_color normal +tide_os_color normal +tide_os_icon $os_branding_icon +tide_php_bg_color normal +tide_php_color 617CBE +tide_php_icon  +tide_private_mode_bg_color normal +tide_private_mode_color FFFFFF +tide_private_mode_icon 﫸 +tide_prompt_add_newline_before true +tide_prompt_color_frame_and_connection 6C6C6C +tide_prompt_color_separator_same_color 949494 +tide_prompt_icon_connection ' ' +tide_prompt_min_cols 34 +tide_prompt_pad_items false +tide_pwd_bg_color normal +tide_pwd_color_anchors $_tide_color_light_blue +tide_pwd_color_dirs $_tide_color_dark_blue +tide_pwd_color_truncated_dirs 8787AF +tide_pwd_icon +tide_pwd_icon_home +tide_pwd_icon_unwritable  +tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json +tide_right_prompt_frame_enabled false +tide_right_prompt_items status cmd_duration context jobs node virtual_env rustc java php chruby go kubectl toolbox terraform aws nix_shell crystal +tide_right_prompt_prefix ' ' +tide_right_prompt_separator_diff_color ' ' +tide_right_prompt_separator_same_color ' ' +tide_right_prompt_suffix '' +tide_rustc_bg_color normal +tide_rustc_color F74C00 +tide_rustc_icon  +tide_shlvl_bg_color normal +tide_shlvl_color d78700 +tide_shlvl_icon  +tide_shlvl_threshold 1 +tide_status_bg_color normal +tide_status_bg_color_failure normal +tide_status_color $_tide_color_dark_green +tide_status_color_failure D70000 +tide_status_icon ✔ +tide_status_icon_failure ✘ +tide_terraform_bg_color normal +tide_terraform_color 844FBA +tide_terraform_icon +tide_time_bg_color normal +tide_time_color 5F8787 +tide_time_format %T +tide_toolbox_bg_color normal +tide_toolbox_color 613583 +tide_toolbox_icon ⬢ +tide_vi_mode_bg_color_default normal +tide_vi_mode_bg_color_insert normal +tide_vi_mode_bg_color_replace normal +tide_vi_mode_bg_color_visual normal +tide_vi_mode_color_default 949494 +tide_vi_mode_color_insert 87AFAF +tide_vi_mode_color_replace 87AF87 +tide_vi_mode_color_visual FF8700 +tide_vi_mode_icon_default D +tide_vi_mode_icon_insert I +tide_vi_mode_icon_replace R +tide_vi_mode_icon_visual V +tide_virtual_env_bg_color normal +tide_virtual_env_color 00AFAF +tide_virtual_env_icon  diff --git a/fish/functions/tide/configure/configs/lean_16color.fish b/fish/functions/tide/configure/configs/lean_16color.fish new file mode 100644 index 0000000..49a8606 --- /dev/null +++ b/fish/functions/tide/configure/configs/lean_16color.fish @@ -0,0 +1,75 @@ +tide_aws_bg_color normal +tide_aws_color yellow +tide_character_color brgreen +tide_character_color_failure brred +tide_chruby_bg_color normal +tide_chruby_color red +tide_cmd_duration_bg_color normal +tide_cmd_duration_color brblack +tide_context_bg_color normal +tide_context_color_default yellow +tide_context_color_root bryellow +tide_context_color_ssh yellow +tide_crystal_bg_color normal +tide_crystal_color brwhite +tide_docker_bg_color normal +tide_docker_color blue +tide_git_bg_color normal +tide_git_bg_color_unstable normal +tide_git_bg_color_urgent normal +tide_git_color_branch brgreen +tide_git_color_conflicted brred +tide_git_color_dirty bryellow +tide_git_color_operation brred +tide_git_color_staged bryellow +tide_git_color_stash brgreen +tide_git_color_untracked brblue +tide_git_color_upstream brgreen +tide_go_bg_color normal +tide_go_color brcyan +tide_java_bg_color normal +tide_java_color yellow +tide_jobs_bg_color normal +tide_jobs_color green +tide_kubectl_bg_color normal +tide_kubectl_color blue +tide_nix_shell_bg_color normal +tide_nix_shell_color brblue +tide_node_bg_color normal +tide_node_color green +tide_os_bg_color normal +tide_os_color brwhite +tide_php_bg_color normal +tide_php_color blue +tide_private_mode_bg_color normal +tide_private_mode_color brwhite +tide_prompt_color_frame_and_connection brblack +tide_prompt_color_separator_same_color brblack +tide_pwd_bg_color normal +tide_pwd_color_anchors brcyan +tide_pwd_color_dirs cyan +tide_pwd_color_truncated_dirs magenta +tide_rustc_bg_color normal +tide_rustc_color red +tide_shlvl_bg_color normal +tide_shlvl_color yellow +tide_status_bg_color normal +tide_status_bg_color_failure normal +tide_status_color green +tide_status_color_failure red +tide_terraform_bg_color normal +tide_terraform_color magenta +tide_time_bg_color normal +tide_time_color brblack +tide_toolbox_bg_color normal +tide_toolbox_color magenta +tide_vi_mode_bg_color_default normal +tide_vi_mode_bg_color_insert normal +tide_vi_mode_bg_color_replace normal +tide_vi_mode_bg_color_visual normal +tide_vi_mode_color_default white +tide_vi_mode_color_insert cyan +tide_vi_mode_color_replace green +tide_vi_mode_color_visual yellow +tide_virtual_env_bg_color normal +tide_virtual_env_color cyan diff --git a/fish/functions/tide/configure/configs/rainbow.fish b/fish/functions/tide/configure/configs/rainbow.fish new file mode 100644 index 0000000..39ce7bb --- /dev/null +++ b/fish/functions/tide/configure/configs/rainbow.fish @@ -0,0 +1,133 @@ +tide_aws_bg_color FF9900 +tide_aws_color 232F3E +tide_aws_icon  +tide_character_color $_tide_color_green +tide_character_color_failure FF0000 +tide_character_icon ❯ +tide_character_vi_icon_default ❮ +tide_character_vi_icon_replace ▶ +tide_character_vi_icon_visual V +tide_chruby_bg_color B31209 +tide_chruby_color 000000 +tide_chruby_icon  +tide_cmd_duration_bg_color C4A000 +tide_cmd_duration_color 000000 +tide_cmd_duration_decimals 0 +tide_cmd_duration_icon +tide_cmd_duration_threshold 3000 +tide_context_always_display false +tide_context_bg_color 444444 +tide_context_color_default D7AF87 +tide_context_color_root $_tide_color_gold +tide_context_color_ssh D7AF87 +tide_context_hostname_parts 1 +tide_crystal_bg_color FFFFFF +tide_crystal_color 000000 +tide_crystal_icon ⬢ +tide_docker_bg_color 2496ED +tide_docker_color 000000 +tide_docker_default_contexts default colima +tide_docker_icon  +tide_git_bg_color 4E9A06 +tide_git_bg_color_unstable C4A000 +tide_git_bg_color_urgent CC0000 +tide_git_color_branch 000000 +tide_git_color_conflicted 000000 +tide_git_color_dirty 000000 +tide_git_color_operation 000000 +tide_git_color_staged 000000 +tide_git_color_stash 000000 +tide_git_color_untracked 000000 +tide_git_color_upstream 000000 +tide_git_icon +tide_git_truncation_length 24 +tide_go_bg_color 00ACD7 +tide_go_color 000000 +tide_go_icon  +tide_java_bg_color ED8B00 +tide_java_color 000000 +tide_java_icon  +tide_jobs_bg_color 444444 +tide_jobs_color 4E9A06 +tide_jobs_icon  +tide_kubectl_bg_color 326CE5 +tide_kubectl_color 000000 +tide_kubectl_icon ⎈ +tide_left_prompt_frame_enabled true +tide_left_prompt_items pwd git newline +tide_left_prompt_prefix '' +tide_left_prompt_separator_diff_color  +tide_left_prompt_separator_same_color  +tide_left_prompt_suffix  +tide_nix_shell_bg_color 7EBAE4 +tide_nix_shell_color 000000 +tide_nix_shell_icon  +tide_node_bg_color 44883E +tide_node_color 000000 +tide_node_icon ⬢ +tide_os_bg_color $os_branding_bg_color +tide_os_color $os_branding_color +tide_os_icon $os_branding_icon +tide_php_bg_color 617CBE +tide_php_color 000000 +tide_php_icon  +tide_private_mode_bg_color F1F3F4 +tide_private_mode_color 000000 +tide_private_mode_icon 﫸 +tide_prompt_add_newline_before true +tide_prompt_color_frame_and_connection 6C6C6C +tide_prompt_color_separator_same_color 949494 +tide_prompt_icon_connection ' ' +tide_prompt_min_cols 34 +tide_prompt_pad_items true +tide_pwd_bg_color 3465A4 +tide_pwd_color_anchors E4E4E4 +tide_pwd_color_dirs E4E4E4 +tide_pwd_color_truncated_dirs BCBCBC +tide_pwd_icon +tide_pwd_icon_home +tide_pwd_icon_unwritable  +tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform Cargo.toml composer.json CVS go.mod package.json +tide_right_prompt_frame_enabled true +tide_right_prompt_items status cmd_duration context jobs node virtual_env rustc java php chruby go kubectl toolbox terraform aws nix_shell crystal +tide_right_prompt_prefix  +tide_right_prompt_separator_diff_color  +tide_right_prompt_separator_same_color  +tide_right_prompt_suffix '' +tide_rustc_bg_color F74C00 +tide_rustc_color 000000 +tide_rustc_icon  +tide_shlvl_bg_color 808000 +tide_shlvl_color 000000 +tide_shlvl_icon  +tide_shlvl_threshold 1 +tide_status_bg_color 2E3436 +tide_status_bg_color_failure CC0000 +tide_status_color 4E9A06 +tide_status_color_failure FFFF00 +tide_status_icon ✔ +tide_status_icon_failure ✘ +tide_terraform_bg_color 800080 +tide_terraform_color 000000 +tide_terraform_icon +tide_time_bg_color D3D7CF +tide_time_color 000000 +tide_time_format %T +tide_toolbox_bg_color 613583 +tide_toolbox_color 000000 +tide_toolbox_icon ⬢ +tide_vi_mode_bg_color_default 949494 +tide_vi_mode_bg_color_insert 87AFAF +tide_vi_mode_bg_color_replace 87AF87 +tide_vi_mode_bg_color_visual FF8700 +tide_vi_mode_color_default 000000 +tide_vi_mode_color_insert 000000 +tide_vi_mode_color_replace 000000 +tide_vi_mode_color_visual 000000 +tide_vi_mode_icon_default D +tide_vi_mode_icon_insert I +tide_vi_mode_icon_replace R +tide_vi_mode_icon_visual V +tide_virtual_env_bg_color 444444 +tide_virtual_env_color 00AFAF +tide_virtual_env_icon  diff --git a/fish/functions/tide/configure/configs/rainbow_16color.fish b/fish/functions/tide/configure/configs/rainbow_16color.fish new file mode 100644 index 0000000..c102e2f --- /dev/null +++ b/fish/functions/tide/configure/configs/rainbow_16color.fish @@ -0,0 +1,79 @@ +tide_aws_bg_color yellow +tide_aws_color brblack +tide_character_color brgreen +tide_character_color_failure brred +tide_chruby_bg_color red +tide_chruby_color black +tide_cmd_duration_bg_color yellow +tide_cmd_duration_color black +tide_context_bg_color brblack +tide_context_color_default yellow +tide_context_color_root yellow +tide_context_color_ssh yellow +tide_crystal_bg_color brwhite +tide_crystal_color black +tide_docker_bg_color blue +tide_docker_color black +tide_git_bg_color green +tide_git_bg_color_unstable yellow +tide_git_bg_color_urgent red +tide_git_color_branch black +tide_git_color_conflicted black +tide_git_color_dirty black +tide_git_color_operation black +tide_git_color_staged black +tide_git_color_stash black +tide_git_color_untracked black +tide_git_color_upstream black +tide_go_bg_color brcyan +tide_go_color black +tide_java_bg_color yellow +tide_java_color black +tide_jobs_bg_color brblack +tide_jobs_color green +tide_kubectl_bg_color blue +tide_kubectl_color black +tide_nix_shell_bg_color brblue +tide_nix_shell_color black +tide_node_bg_color green +tide_node_color black +tide_os_bg_color white +tide_os_color black +tide_php_bg_color blue +tide_php_color black +tide_private_mode_bg_color brwhite +tide_private_mode_color black +tide_prompt_color_frame_and_connection brblack +tide_prompt_color_separator_same_color brblack +tide_pwd_bg_color blue +tide_pwd_color_anchors brwhite +tide_pwd_color_dirs brwhite +tide_pwd_color_truncated_dirs white +tide_rustc_bg_color red +tide_rustc_color black +tide_shlvl_bg_color yellow +tide_shlvl_color black +tide_status_bg_color black +tide_status_bg_color_failure red +tide_status_color green +tide_status_color_failure bryellow +tide_terraform_bg_color magenta +tide_terraform_color black +tide_time_bg_color white +tide_time_color black +tide_toolbox_bg_color magenta +tide_toolbox_color black +tide_vi_mode_bg_color_default white +tide_vi_mode_bg_color_insert cyan +tide_vi_mode_bg_color_replace green +tide_vi_mode_bg_color_visual yellow +tide_vi_mode_color_default black +tide_vi_mode_color_insert black +tide_vi_mode_color_replace black +tide_vi_mode_color_visual black +tide_vi_mode_icon_default D +tide_vi_mode_icon_insert I +tide_vi_mode_icon_replace R +tide_vi_mode_icon_visual V +tide_virtual_env_bg_color brblack +tide_virtual_env_color cyan diff --git a/fish/functions/tide/configure/functions/_fake_tide_cache_variables.fish b/fish/functions/tide/configure/functions/_fake_tide_cache_variables.fish new file mode 100644 index 0000000..4661ab1 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_cache_variables.fish @@ -0,0 +1,41 @@ +function _fake_tide_cache_variables + # pwd + set_color -o $fake_tide_pwd_color_anchors | read -gx _fake_tide_color_anchors + set -gx _fake_tide_color_truncated_dirs "$(set_color $fake_tide_pwd_color_truncated_dirs)" + set -gx _fake_tide_reset_to_color_dirs (set_color normal -b $fake_tide_pwd_bg_color; set_color $fake_tide_pwd_color_dirs) + + # git + contains git $fake_tide_left_prompt_items $fake_tide_right_prompt_items && + set -gx _fake_tide_location_color "$(set_color $fake_tide_git_color_branch)" + + # private_mode + if contains private_mode $fake_tide_left_prompt_items $fake_tide_right_prompt_items && test -n "$fish_private_mode" + set -gx _fake_tide_private_mode + else + set -e _fake_tide_private_mode + end + + # Same-color-separator color + set -gx _fake_tide_color_separator_same_color "$(set_color $fake_tide_prompt_color_separator_same_color)" + + # two line prompt + if contains newline $fake_tide_left_prompt_items + set_color $fake_tide_prompt_color_frame_and_connection -b normal | read -gx _fake_tide_prompt_and_frame_color + else + set -e _fake_tide_prompt_and_frame_color + end + + # newline before + if test "$fake_tide_prompt_add_newline_before" = true + set -g _fake_tide_add_newline '' + else + set -e _fake_tide_add_newline + end + + # item padding + if test "$fake_tide_prompt_pad_items" = true + set -gx _fake_tide_pad ' ' + else + set -e _fake_tide_pad + end +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_character.fish b/fish/functions/tide/configure/functions/_fake_tide_item_character.fish new file mode 100644 index 0000000..73ae055 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_item_character.fish @@ -0,0 +1,5 @@ +function _fake_tide_item_character + set_color $fake_tide_character_color + contains newline $fake_tide_left_prompt_items || echo -ns ' ' + echo -ns $fake_tide_character_icon +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_cmd_duration.fish b/fish/functions/tide/configure/functions/_fake_tide_item_cmd_duration.fish new file mode 100644 index 0000000..5aa13b2 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_item_cmd_duration.fish @@ -0,0 +1,3 @@ +function _fake_tide_item_cmd_duration + _fake_tide_print_item cmd_duration $fake_tide_cmd_duration_icon' ' 5s +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_git.fish b/fish/functions/tide/configure/functions/_fake_tide_item_git.fish new file mode 100644 index 0000000..fb5b957 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_item_git.fish @@ -0,0 +1,3 @@ +function _fake_tide_item_git + _fake_tide_print_item git (set_color $fake_tide_git_color_branch) $fake_tide_git_icon' ' main +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_newline.fish b/fish/functions/tide/configure/functions/_fake_tide_item_newline.fish new file mode 100644 index 0000000..c614bab --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_item_newline.fish @@ -0,0 +1,5 @@ +function _fake_tide_item_newline + set_color $prev_bg_color -b normal + var=fake_tide_"$_fake_tide_side"_prompt_suffix echo $$var + set -g add_prefix +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_os.fish b/fish/functions/tide/configure/functions/_fake_tide_item_os.fish new file mode 100644 index 0000000..5255721 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_item_os.fish @@ -0,0 +1,3 @@ +function _fake_tide_item_os + _fake_tide_print_item os $fake_tide_os_icon +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_item_time.fish b/fish/functions/tide/configure/functions/_fake_tide_item_time.fish new file mode 100644 index 0000000..bbce0b5 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_item_time.fish @@ -0,0 +1,3 @@ +function _fake_tide_item_time + _fake_tide_print_item time (date +$fake_tide_time_format) +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_print_item.fish b/fish/functions/tide/configure/functions/_fake_tide_print_item.fish new file mode 100644 index 0000000..30cd024 --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_print_item.fish @@ -0,0 +1,22 @@ +function _fake_tide_print_item -a item + var=fake_tide_"$item"_bg_color set -f item_bg_color $$var + + if set -e add_prefix + set_color $item_bg_color -b normal + var=fake_tide_"$_fake_tide_side"_prompt_prefix echo -ns $$var + else if test "$item_bg_color" = "$prev_bg_color" + var=fake_tide_"$_fake_tide_side"_prompt_separator_same_color echo -ns $_fake_tide_color_separator_same_color$$var + else if test "$_fake_tide_side" = left + set_color $prev_bg_color -b $item_bg_color + echo -ns $fake_tide_left_prompt_separator_diff_color + else + set_color $item_bg_color -b $prev_bg_color + echo -ns $fake_tide_right_prompt_separator_diff_color + end + + var=fake_tide_"$item"_color set_color $$var -b $item_bg_color + + echo -ns $_fake_tide_pad $argv[2..] $_fake_tide_pad + + set -g prev_bg_color $item_bg_color +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_prompt.fish b/fish/functions/tide/configure/functions/_fake_tide_prompt.fish new file mode 100644 index 0000000..11f20ca --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_prompt.fish @@ -0,0 +1,42 @@ +function _fake_tide_prompt + set -g add_prefix + _fake_tide_side=left set -f left (for item in $fake_tide_left_prompt_items + _fake_tide_item_$item + end + if not set -e add_prefix + set_color $prev_bg_color -b normal + echo -ns $fake_tide_left_prompt_suffix + end) + + set -g add_prefix + _fake_tide_side=right set -f right (for item in $fake_tide_right_prompt_items + _fake_tide_item_$item + end + if not set -e add_prefix + set_color $prev_bg_color -b normal + echo -ns $fake_tide_right_prompt_suffix + end) + + if set -q _fake_tide_prompt_and_frame_color # If prompt is two lines + test "$fake_tide_left_prompt_frame_enabled" = true && + set left[1] "$_fake_tide_prompt_and_frame_color╭─$left[1]" && + set left[2] "$_fake_tide_prompt_and_frame_color╰─$left[2]" + test "$fake_tide_right_prompt_frame_enabled" = true && + set right[1] "$right[1]$_fake_tide_prompt_and_frame_color─╮" && + set right[2] "$right[2]$_fake_tide_prompt_and_frame_color─╯" + + # 5 = @PWD@ length which will be replaced + math $fake_columns+5-(string length --visible "$left[1]$right[1]") | read -lx dist_btwn_sides + echo -ns "$right[2]"\n(string replace @PWD@ (_fake_tide_pwd) "$left[1]")$_fake_tide_prompt_and_frame_color + + string repeat --no-newline --max (math max 0, $dist_btwn_sides-$_tide_pwd_len) $fake_tide_prompt_icon_connection + echo -ns "$right[1]"\n"$left[2] " + else + math $fake_columns+5-(string length --visible "$left[1]$right[1]") -$fake_tide_prompt_min_cols | read -lx dist_btwn_sides + string replace @PWD@ (_fake_tide_pwd) "$right[1]" "$left[1] " + end +end + +function _fake_tide_item_pwd + _fake_tide_print_item pwd @PWD@ +end diff --git a/fish/functions/tide/configure/functions/_fake_tide_pwd.fish b/fish/functions/tide/configure/functions/_fake_tide_pwd.fish new file mode 100644 index 0000000..433eafa --- /dev/null +++ b/fish/functions/tide/configure/functions/_fake_tide_pwd.fish @@ -0,0 +1,11 @@ +function _fake_tide_pwd + set -l out ( + set_color $fake_tide_pwd_color_dirs + echo -ns $fake_tide_pwd_icon' ' '~/' + set_color -o $fake_tide_pwd_color_anchors + echo -ns src + set_color normal -b $fake_tide_pwd_bg_color + ) + set -g _tide_pwd_len (string length --visible $out) + echo -ns $out +end diff --git a/fish/themes/tokyonight_night.theme b/fish/themes/tokyonight_night.theme new file mode 100644 index 0000000..2c33869 --- /dev/null +++ b/fish/themes/tokyonight_night.theme @@ -0,0 +1,25 @@ + + # TokyoNight + + # Syntax Highlighting Colors + fish_color_normal c0caf5 + fish_color_command 7dcfff + fish_color_keyword bb9af7 + fish_color_quote e0af68 + fish_color_redirection c0caf5 + fish_color_end ff9e64 + fish_color_error f7768e + fish_color_param 9d7cd8 + fish_color_comment 565f89 + fish_color_selection --background=33467c + fish_color_search_match --background=33467c + fish_color_operator 9ece6a + fish_color_escape bb9af7 + fish_color_autosuggestion 565f89 + + # Completion Pager Colors + fish_pager_color_progress 565f89 + fish_pager_color_prefix 7dcfff + fish_pager_color_completion c0caf5 + fish_pager_color_description 565f89 + fish_pager_color_selected_background --background=33467c diff --git a/fish/tokyonight_night.fish b/fish/tokyonight_night.fish new file mode 100644 index 0000000..f79979f --- /dev/null +++ b/fish/tokyonight_night.fish @@ -0,0 +1,34 @@ + # TokyoNight Color Palette + set -l foreground c0caf5 + set -l selection 33467c + set -l comment 565f89 + set -l red f7768e + set -l orange ff9e64 + set -l yellow e0af68 + set -l green 9ece6a + set -l purple 9d7cd8 + set -l cyan 7dcfff + set -l pink bb9af7 + + # Syntax Highlighting Colors + set -g fish_color_normal $foreground + set -g fish_color_command $cyan + set -g fish_color_keyword $pink + set -g fish_color_quote $yellow + set -g fish_color_redirection $foreground + set -g fish_color_end $orange + set -g fish_color_error $red + set -g fish_color_param $purple + set -g fish_color_comment $comment + set -g fish_color_selection --background=$selection + set -g fish_color_search_match --background=$selection + set -g fish_color_operator $green + set -g fish_color_escape $pink + set -g fish_color_autosuggestion $comment + + # Completion Pager Colors + set -g fish_pager_color_progress $comment + set -g fish_pager_color_prefix $cyan + set -g fish_pager_color_completion $foreground + set -g fish_pager_color_description $comment + set -g fish_pager_color_selected_background --background=$selection diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini new file mode 100644 index 0000000..efb1803 --- /dev/null +++ b/gtk-3.0/settings.ini @@ -0,0 +1 @@ +gtk-icon-theme-name = Papirus diff --git a/gtk-4.0/servers b/gtk-4.0/servers index 3bbfe8a..45a22c7 100644 --- a/gtk-4.0/servers +++ b/gtk-4.0/servers @@ -3,14 +3,14 @@ xmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks" xmlns:mime="http://www.freedesktop.org/standards/shared-mime-info" > - + Windows shares on 192.168.1.4 - + - + \ No newline at end of file diff --git a/hypr_desktop/hyprland.conf b/hypr_desktop/hyprland.conf index 543bb79..e9cb021 100644 --- a/hypr_desktop/hyprland.conf +++ b/hypr_desktop/hyprland.conf @@ -58,7 +58,7 @@ decoration { animations { enabled=1 - animation=windowsMove,1,1,default + animation=windowsMove,1,5,default animation=windows,1,7,default animation=border,1,10,default animation=fade,1,10,default @@ -75,8 +75,10 @@ gestures { } misc { - no_vfr=false - # animate_manual_resizes=true + + vfr=true + vrr = 1 + # animate_manual_resizes=1 # enable_swallow=true # swallow_regex=^(.*)(Alacritty)(.*)$ @@ -92,6 +94,7 @@ windowrule=float,^(.*)(Steam)(.*)$ windowrule=float,^(.*)(Calculator)(.*)$ windowrule=float,^(.*)(winecfg.exe)(.*)$ windowrule=float,^(.*)(speed.exe)(.*)$ +windowrule=float,^(.*)(copyq)(.*)$ windowrule=center,^(.*)(gnome)(.*)$ # windowrule=windowdance,^(.*)(ota)(.*)$ windowrule=forceinput,^(.*)(ota)(.*)$ @@ -115,8 +118,8 @@ bind=SUPER,M,exit, bind=SUPER,E,exec,nautilus --new-window bind=SUPER,V,togglefloating, bind=SUPER,B,fullscreen, -bind=SUPER,R,exec,wofi -I -m -t alacritty -s ~/.config/wofi/style.css --show drun -bind=SUPERSHIFT,R,exec,wofi -I -m -t alacritty -s ~/.config/wofi/style.css --show run +bind=SUPER,R,exec,rofi -show drun -theme tokyonight +bind=SUPERSHIFT,R,exec,rofi -show run -theme tokyonight bind=SUPER,C,togglesplit bind=SUPER,G,exec,calculator --gui bind=SUPERSHIFT,L,exec, playerctl -a pause & swaylock -c 000000 & systemctl suspend @@ -129,6 +132,8 @@ bind=,XF86AudioPrev,exec, playerctl previous bind=,XF86MonBrightnessDown,exec, $HOME/.config/eww/scripts/change-brightness brightness 10%- bind=,XF86MonBrightnessUp,exec, $HOME/.config/eww/scripts/change-brightness brightness +10% bind=SUPER,D,exec,$HOME/.config/eww/scripts/cockpit_toggle +bind=SUPER,A,exec,copyq toggle + binde=SUPER,bracketleft,movefocus,l binde=SUPER,bracketright,movefocus,r @@ -162,6 +167,17 @@ bind=SUPERSHIFT,8,movetoworkspace,8 bind=SUPERSHIFT,9,movetoworkspace,9 bind=SUPERSHIFT,0,movetoworkspace,10 +bind=SUPERSHIFTALT,1,movetoworkspacesilent,1 +bind=SUPERSHIFTALT,2,movetoworkspacesilent,2 +bind=SUPERSHIFTALT,3,movetoworkspacesilent,3 +bind=SUPERSHIFTALT,4,movetoworkspacesilent,4 +bind=SUPERSHIFTALT,5,movetoworkspacesilent,5 +bind=SUPERSHIFTALT,6,movetoworkspacesilent,6 +bind=SUPERSHIFTALT,7,movetoworkspacesilent,7 +bind=SUPERSHIFTALT,8,movetoworkspacesilent,8 +bind=SUPERSHIFTALT,9,movetoworkspacesilent,9 +bind=SUPERSHIFTALT,0,movetoworkspacesilent,10 + bindm=SUPER,mouse:272,movewindow bindm=SUPER,mouse:273,resizewindow @@ -179,6 +195,7 @@ bind=SUPERALT,left,pass,^(wlroots)$ bind=SUPERALT,right,pass,^(wlroots)$ bind=SUPERALT,up,pass,^(wlroots)$ bind=SUPERALT,down,pass,^(wlroots)$ +bind=CTRLALT,P,pass,^(parcellite)$ #autostart programs @@ -190,3 +207,4 @@ exec-once=eww open bar exec-once=element-desktop exec-once=firefox exec-once=streamdeck -n +exec-once = copyq --start-server diff --git a/hypr_desktop/hyprlandd.conf b/hypr_desktop/hyprlandd.conf index e7c3b30..eaef5ca 100644 --- a/hypr_desktop/hyprlandd.conf +++ b/hypr_desktop/hyprlandd.conf @@ -1,9 +1,4 @@ -# -#fix the fucking portal -# - -monitor=,720x920@60,auto,1 input { repeat_delay=200 @@ -18,7 +13,7 @@ input { } general { - sensitivity=1.0 # for mouse cursor + sensitivity=1.0 gaps_in=5 gaps_out=10 @@ -26,32 +21,32 @@ general { col.active_border=0x66ee1111 col.inactive_border=0x66333333 - apply_sens_to_raw=0 # whether to apply the sensitivity to raw input (e.g. used by games where you aim using your mouse) + apply_sens_to_raw=0 } decoration { rounding=10 blur=1 - blur_size=3 # minimum 1 - blur_passes=1 # minimum 1 + blur_size=3 + blur_passes=1 blur_new_optimizations=true } animations { - enabled=0 + enabled=1 } dwindle { preserve_split=true - pseudotile=0 # enable pseudotiling on dwindle + pseudotile=0 } gestures { } misc { - + animate_manual_resizes = 1 } bind=SUPERALT,H,exec,alacritty @@ -62,5 +57,10 @@ bind=SUPERALT,up,movewindow,u bind=SUPERALT,down,movewindow,d bind=SUPERALT,J,fullscreen -windowrule = nofullscreenrequest,^(.*)$ +bindm=SUPER,mouse:272,movewindow +bindm=SUPER,mouse:273,resizewindow +binde=SUPER,O,resizeactive,-20 0 +binde=SUPER,P,resizeactive,20 0 +binde=SUPER,K,resizeactive,0 -20 +binde=SUPER,L,resizeactive,0 20 diff --git a/hypr_desktop/hyprpaper.conf b/hypr_desktop/hyprpaper.conf index 24fe6c4..2137dc8 100644 --- a/hypr_desktop/hyprpaper.conf +++ b/hypr_desktop/hyprpaper.conf @@ -2,7 +2,7 @@ # wallpaper preload = /home/dashie/Pictures/backgrounds/arch-chan2.jpg preload = /home/dashie/Pictures/backgrounds/Arch_chan.png -preload = /home/dashie/Pictures/backgrounds/Monitor3.jpg +preload = /home/dashie/Pictures/backgrounds/arch-chan3-2560.png wallpaper = DP-2,/home/dashie/Pictures/backgrounds/arch-chan2.jpg wallpaper = DP-1,/home/dashie/Pictures/backgrounds/Arch_chan.png -wallpaper = DP-3,/home/dashie/Pictures/backgrounds/Monitor3.jpg +wallpaper = DP-3,/home/dashie/Pictures/backgrounds/arch-chan3-2560.png diff --git a/hypr_laptop/hyprland.conf b/hypr_laptop/hyprland.conf index dd908e8..f06a7fb 100644 --- a/hypr_laptop/hyprland.conf +++ b/hypr_laptop/hyprland.conf @@ -41,10 +41,9 @@ decoration { blur_passes=1 # minimum 1 blur_new_optimizations=true } - animations { enabled=1 - animation=windowsMove,1,3,default + animation=windowsMove,1,5,default animation=windows,1,5,default animation=border,1,10,default animation=fade,1,10,default @@ -63,7 +62,6 @@ gestures { misc { vfr=true vrr=1 - # animate_manual_resizes=true # enable_swallow=true # swallow_regex=^(.*)(kitty)(.*)$ } @@ -79,6 +77,9 @@ misc { # for windows named/classed as abc and xyz windowrule=opacity 80,^(.*)(dunst)(.*)$ windowrule=float,^(.*)(Calculator)(.*)$ +windowrule=float,^(.*)(copyq)(.*)$ +windowrule=dimaround,^(.*)(onagre)(.*)$ +windowrule=noborder,^(.*)(onagre)(.*)$ #windowrule=tile,xyz #windowrule=float,abc #windowrule=pseudo,abc @@ -92,8 +93,8 @@ bind=SUPER,Q,killactive, bind=SUPER,M,exit, bind=SUPER,E,exec,nautilus --new-window bind=SUPER,V,togglefloating, -bind=SUPER,R,exec,wofi -I -m -s $HOME/.config/wofi/style.css -t kitty --show drun -o DP-3 -bind=SUPERSHIFT,r,exec, wofi -I -m -s $HOME/.config/wofi/style.css -t kitty --show run -o DP-3 +bind=SUPER,R,exec,rofi -show drun -theme tokyonight +bind=SUPERSHIFT,R,exec,rofi -show run -theme tokyonight bind=SUPER,C,togglesplit bind=SUPER,B,fullscreen bind=SUPER,G,exec,calculator --gui @@ -107,9 +108,10 @@ bind=,XF86AudioPrev,exec, playerctl --player=ncspot,firefox previous bind=,XF86MonBrightnessDown,exec, $HOME/.config/eww/scripts/change-brightness brightness 10%- bind=,XF86MonBrightnessUp,exec, $HOME/.config/eww/scripts/change-brightness brightness +10% bind=SUPERSHIFT,S,exec, grim -g "$(slurp)" - | swappy -f - -bind=SUPERSHIFTALT,S,exec, grim -g "$(slurp)" $HOME/gits/ost-3semester/Screenshots/$(date +'%Y_%m_%d_%I_%M_%S.png') && (date +'%Y_%m_%d_%I_%M_%S.png') | wl-copy +bind=SUPERSHIFTALT,S,exec, grim -g "$(slurp)" $HOME/gits/ost-4semester/Screenshots/$(date +'%Y_%m_%d_%I_%M_%S.png') && (date +'%Y_%m_%d_%I_%M_%S.png') | wl-copy bind=SUPER,D,exec, $HOME/.config/eww/scripts/cockpit_toggle bind=,Print,exec, grim - | wl-copy +bind=SUPER,A,exec,copyq toggle # bind=SUPERALT,H,pass,^(wlroots)$ # bind=SUPERALT,left,pass,^(wlroots)$ # bind=SUPERALT,right,pass,^(wlroots)$ @@ -151,6 +153,17 @@ bind=SUPERSHIFT,8,movetoworkspace,8 bind=SUPERSHIFT,9,movetoworkspace,9 bind=SUPERSHIFT,0,movetoworkspace,10 +bind=SUPERSHIFTALT,1,movetoworkspacesilent,1 +bind=SUPERSHIFTALT,2,movetoworkspacesilent,2 +bind=SUPERSHIFTALT,3,movetoworkspacesilent,3 +bind=SUPERSHIFTALT,4,movetoworkspacesilent,4 +bind=SUPERSHIFTALT,5,movetoworkspacesilent,5 +bind=SUPERSHIFTALT,6,movetoworkspacesilent,6 +bind=SUPERSHIFTALT,7,movetoworkspacesilent,7 +bind=SUPERSHIFTALT,8,movetoworkspacesilent,8 +bind=SUPERSHIFTALT,9,movetoworkspacesilent,9 +bind=SUPERSHIFTALT,0,movetoworkspacesilent,10 + bind=SUPER,mouse_down,workspace,e+1 bind=SUPER,mouse_up,workspace,e-1 bindm=SUPER,mouse:272,movewindow @@ -172,3 +185,4 @@ exec-once=nheko exec-once=firefox exec-once=nextcloud exec-once=kitty -e ncspot +exec-once = copyq --start-server diff --git a/hypr_laptop/hyprlandd.conf b/hypr_laptop/hyprlandd.conf index bcd5c5b..1bbaaa7 100644 --- a/hypr_laptop/hyprlandd.conf +++ b/hypr_laptop/hyprlandd.conf @@ -1,4 +1,4 @@ -monitor=,1080x1920@60,0x0,1 +monitor=,1920x1080@144,0x0,1 input { repeat_delay=200 natural_scroll=false @@ -36,8 +36,9 @@ decoration { } animations { + bezier=test,0.5,0.5,0.5,0.5 enabled=1 - animation=windowsMove,1,3,default + animation=windowsMove,1,1,default animation=windows,1,5,default animation=border,1,10,default animation=fade,1,10,default @@ -54,8 +55,8 @@ gestures { } misc { - no_vfr=false - # animate_manual_resizes=true + animate_manual_resizes=true + animate_mouse_windowdragging=true enable_swallow=true swallow_regex=^(.*)(Alacritty)(.*)$ } diff --git a/hypr_laptop/hyprpaper.conf b/hypr_laptop/hyprpaper.conf index afb8ee7..199e59a 100644 --- a/hypr_laptop/hyprpaper.conf +++ b/hypr_laptop/hyprpaper.conf @@ -1,5 +1,5 @@ # wallpaper -preload = /home/dashie/Pictures/backgrounds/Arch_chan_laptop.png -wallpaper = eDP-1,/home/dashie/Pictures/backgrounds/Arch_chan_laptop.png +preload = /home/dashie/Pictures/backgrounds/arch-chan3-1920.png +wallpaper = eDP-1,/home/dashie/Pictures/backgrounds/arch-chan3-1920.png ipc = off diff --git a/joshuto/joshuto.toml b/joshuto/joshuto.toml new file mode 100644 index 0000000..160e4a8 --- /dev/null +++ b/joshuto/joshuto.toml @@ -0,0 +1,5 @@ +xdg_open = true +[preview] +max_preview_size = 50000097152 +preview_shown_hook_script = "~/.config/joshuto/on_preview_shown" +preview_removed_hook_script = "~/.config/joshuto/on_preview_removed" diff --git a/joshuto/on_preview_removed.sh b/joshuto/on_preview_removed.sh new file mode 100755 index 0000000..bd66564 --- /dev/null +++ b/joshuto/on_preview_removed.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +kitty +kitten icat \ + --transfer-mode=file \ + --clear 2>/dev/null diff --git a/joshuto/on_preview_shown b/joshuto/on_preview_shown new file mode 100755 index 0000000..c1f6a9d --- /dev/null +++ b/joshuto/on_preview_shown @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +FILE_PATH="$1" # Full path of the previewed file +PREVIEW_X_COORD="$2" # x coordinate of upper left cell of preview area +PREVIEW_Y_COORD="$3" # y coordinate of upper left cell of preview area +PREVIEW_WIDTH="$4" # Width of the preview pane (number of fitting characters) +PREVIEW_HEIGHT="$5" # Height of the preview pane (number of fitting characters) + +TMP_FILE="$HOME/.cache/joshuto/thumbcache.png" + +mimetype=$(file --mime-type -Lb "$FILE_PATH") + +function image { + kitty +kitten icat \ + --transfer-mode=file \ + --clear 2>/dev/null + kitty +kitten icat \ + --transfer-mode=file \ + --place "${PREVIEW_WIDTH}x${PREVIEW_HEIGHT}@${PREVIEW_X_COORD}x${PREVIEW_Y_COORD}" \ + "$1" 2>/dev/null +} + +case "$mimetype" in + image/*) + image "${FILE_PATH}" + ;; + *) + kitty +kitten icat \ + --transfer-mode=file \ + --clear 2>/dev/null + ;; +esac diff --git a/joshuto/preview.sh b/joshuto/preview.sh new file mode 100755 index 0000000..8b91cb9 --- /dev/null +++ b/joshuto/preview.sh @@ -0,0 +1,202 @@ +#!/usr/bin/env bash +# ranger supports enhanced previews. If the option "use_preview_script" +# is set to True and this file exists, this script will be called and its +# output is displayed in ranger. ANSI color codes are supported. + +# NOTES: This script is considered a configuration file. If you upgrade +# ranger, it will be left untouched. (You must update it yourself.) +# Also, ranger disables STDIN here, so interactive scripts won't work properly + +# Meanings of exit codes: +# code | meaning | action of ranger +# -----+------------+------------------------------------------- +# 0 | success | success. display stdout as preview +# 1 | no preview | failure. display no preview at all +# 2 | plain text | display the plain content of the file +# 3 | fix width | success. Don't reload when width changes +# 4 | fix height | success. Don't reload when height changes +# 5 | fix both | success. Don't ever reload +# 6 | image | success. display the image $cached points to as an image preview +# 7 | image | success. display the file directly as an image + +# Meaningful aliases for arguments: +path="$1" # Full path of the selected file +width="$2" # Width of the preview pane (number of fitting characters) +height="$3" # Height of the preview pane (number of fitting characters) +cached="$4" # Path that should be used to cache image previews +preview_images="$5" # "True" if image previews are enabled, "False" otherwise. +x_coord=0 +y_coord=0 +cache_path="" + +while [ "$#" -gt 0 ]; do + case "$1" in + "--path") + shift + path="$1" + ;; + "--preview-width") + shift + width="$1" + ;; + "--preview-height") + shift + height="$1" + ;; + "--x-coord") + shift + x_coord="$1" + ;; + "--y-coord") + shift + y_coord="$1" + ;; + "--preview-images") + shift + preview_images="$1" + ;; + "--image-cache") + shift + cache_path="$1" + ;; + esac + shift +done + + +maxln=200 # Stop after $maxln lines. Can be used like ls | head -n $maxln + +# Find out something about the file: +mimetype=$(file --mime-type -Lb "$path") +extension=$(/bin/echo "${path##*.}" | awk '{print tolower($0)}') +realpath=$(realpath "$path") + +# Functions: +# runs a command and saves its output into $output. Useful if you need +# the return value AND want to use the output in a pipe +try() { output=$(eval '"$@"'); } + +# writes the output of the previously used "try" command +dump() { /bin/echo "$output"; } + +# a common post-processing function used after most commands +trim() { head -n "$maxln"; } + +# wraps highlight to treat exit code 141 (killed by SIGPIPE) as success +safepipe() { "$@"; test $? = 0 -o $? = 141; } + +tmsu_tag_list() { + taglist=`tmsu tags -n never -1 "$path"` + result=$? + if [ $result -eq 0 ]; then + if [ -z "$taglist" ]; then + echo "No Tags" + else + taglist=`echo "$taglist" | sed 's/^/ • /'` + echo "Tags:" + echo "$taglist" + fi + fi +} + + + +# case "$mimetype" in +# image/* | video/* | audio/*) +# image_output="Tags:\n `tmsu tags -n never -1 "$path" | sed 's/^/ • /'`" +# echo -e "$image_output" +# esac + +# Image previews, if enabled in ranger. +if [ "$preview_images" = "True" ]; then + case "$mimetype" in + # Image previews for SVG files, disabled by default. + ###image/svg+xml) + ### convert "$path" "$cached" && exit 6 || exit 1;; + # Image previews for image files. w3mimgdisplay will be called for all + # image files (unless overriden as above), but might fail for + # unsupported types. + image/*) + exit 7;; + # Image preview for video, disabled by default.: + ###video/*) + ### ffmpegthumbnailer -i "$path" -o "$cached" -s 0 && exit 6 || exit 1;; + esac +fi + +case "$extension" in + # Archive extensions: + a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\ + rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip) + try als "$path" && { dump | trim; exit 0; } + try acat "$path" && { dump | trim; exit 3; } + try bsdtar -lf "$path" && { dump | trim; exit 0; } + exit 1;; + rar) + # avoid password prompt by providing empty password + try unrar -p- lt "$path" && { dump | trim; exit 0; } || exit 1;; + 7z) + # avoid password prompt by providing empty password + try 7z -p l "$path" && { dump | trim; exit 0; } || exit 1;; + # PDF documents: + pdf) + try pdftotext -l 10 -nopgbrk -q "$path" - && \ + { dump | trim | fmt -s -w $width; exit 0; } || exit 1;; + # BitTorrent Files + torrent) + try transmission-show "$path" && { dump | trim; exit 5; } || exit 1;; + # ODT Files + odt|ods|odp|sxw) + try odt2txt "$path" && { dump | trim; exit 5; } || exit 1;; + # HTML Pages: + htm|html|xhtml) + try w3m -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; } + try lynx -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; } + try elinks -dump "$path" && { dump | trim | fmt -s -w $width; exit 4; } + ;; # fall back to highlight/cat if the text browsers fail +esac + +case "$mimetype" in + # Syntax highlight for text files: + text/* | */xml | */json) + if [ "$(tput colors)" -ge 256 ]; then + pygmentize_format=terminal256 + highlight_format=xterm256 + else + pygmentize_format=terminal + highlight_format=ansi + fi + #try safepipe highlight --out-format=${highlight_format} "$path" && { dump | trim; exit 5; } + #try safepipe pygmentize -f ${pygmentize_format} "$path" && { dump | trim; exit 5; } + try safepipe bat -pp --color always "$path" && { dump | trim; exit 5; } + cat "$path" + exit 2;; + image/png | image/jpeg | image/gif) + dimension="Size `exiftool "$path" | grep '^Image Size' | awk '{print $4}'`" + tags=$(tmsu_tag_list) + echo "$realpath" + echo "$dimension" + echo "$tags" + meta_file="$(get_preview_meta_file $path)" + let y_offset=`printf "${tags}" | sed -n '=' | wc -l`+3 + echo "y-offset $y_offset" > "$meta_file" + exit 4 + ;; + image/*) + tags=$(tmsu_tag_list) + echo "$tags" + echo "$realpath" + exit 4 + #img2txt --gamma=0.6 --width="$width" "$path" && exit 4 || exit 1 + ;; + # Display information about media files: + video/* | audio/*) + tags=$(tmsu_tag_list) + echo "$tags" + echo "$realpath" + exiftool "$path" && exit 5 + # Use sed to remove spaces so the output fits into the narrow window + try mediainfo "$path" && { dump | trim | sed 's/ \+:/: /;'; exit 5; } || exit 1;; +esac + +exit 1 diff --git a/kitty/kitty.conf b/kitty/kitty.conf index 6c02c4f..5f7abbf 100644 --- a/kitty/kitty.conf +++ b/kitty/kitty.conf @@ -2,8 +2,10 @@ enable_audio_bell no window_alert_on_bell no background_opacity 0.8 cursor_blink_interval 0 +window_padding_width 1 +shell_integration yes -background #1a1b26 +background #1a1b25 foreground #c5c8c6 selection_background #b2ceee @@ -13,7 +15,7 @@ selection_background #33467c selection_foreground #c0caf5 url_color #73daca cursor #c0caf5 -cursor_text_color #1a1b26 +cursor_text_color #1a1b25 # Tabs active_tab_background #7aa2f7 @@ -50,4 +52,4 @@ color15 #c0caf5 color16 #ff9e64 color17 #db4b4b -shell zsh +shell fish diff --git a/nvim/.gitignore b/nvim/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/nvim/.luarc.json b/nvim/.luarc.json deleted file mode 100644 index c609932..0000000 --- a/nvim/.luarc.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json", - "Lua.diagnostics.globals": [ - "termid", - "global" - ], - "Lua.workspace.library": [ - "${3rd}/luassert/library", - "${3rd}/luv/library" - ] -} \ No newline at end of file diff --git a/nvim/.neoconf.json b/nvim/.neoconf.json new file mode 100644 index 0000000..aa1b504 --- /dev/null +++ b/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "sumneko_lua": { + "enabled": true + } + } + } +} diff --git a/nvim/LICENSE b/nvim/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/nvim/README.md b/nvim/README.md index 5580008..ad6d1a3 100644 --- a/nvim/README.md +++ b/nvim/README.md @@ -12,7 +12,7 @@ | F9 | continue from breakpoint | | F10 | close debug UI | -## Nerd Tree +## Neo-Tree | key | Description | | --- | ------------------------- | | f |toggle open | diff --git a/nvim/ftplugin/java.lua b/nvim/ftplugin/java.lua new file mode 100644 index 0000000..a94c6af --- /dev/null +++ b/nvim/ftplugin/java.lua @@ -0,0 +1,46 @@ +local jdtls = require("jdtls") + +jdtls.start_or_attach({ + cmd = { "jdtls" }, + root_dir = vim.fs.dirname(vim.fs.find({ "settings.gradle", ".git", "pom.xml" }, { upward = true })[1]), + init_options = { + bundles = vim.list_extend( + { + -- Mason: java-debug-adapter + -- stylua: ignore + vim.fn.glob( "~/.local/share/nvim/mason/packages/java-debug-adapter/extension/server/com.microsoft.java.debug.plugin-*.jar", 1), + }, + -- Mason: java-test + -- stylua: ignore + vim.split(vim.fn.glob("~/.local/share/nvim/mason/packages/java-test/extension/server/*.jar", 1), "\n") + ), + }, + on_attach = function() + jdtls.setup_dap() -- Create new dap adapter for java + + -- nvim-jdtls specific mappings + vim.keymap.set("n", "", jdtls.organize_imports, {}) + vim.keymap.set("n", "crv", jdtls.extract_variable, {}) + vim.keymap.set("v", "crv", jdtls.extract_variable, {}) + vim.keymap.set("n", "crc", jdtls.extract_constant, {}) + vim.keymap.set("v", "crc", jdtls.extract_constant, {}) + vim.keymap.set("v", "crm", jdtls.extract_method, {}) + + vim.keymap.set("n", "df", jdtls.test_class, {}) + vim.keymap.set("n", "dn", jdtls.test_nearest_method, {}) + end, +}) + +local dap_status, dap = pcall(require, "dap") +if not dap_status then + return +end + +dap.configurations.java = { + { + name = "Launch current file", + type = "java", + request = "launch", + program = "${file}", + }, +} diff --git a/nvim/init.lua b/nvim/init.lua index 55ccf34..2514f9e 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,36 +1,2 @@ -vim.g.loaded_netrw = 1 -vim.g.loaded_netrwPlugin = 1 --- -require("settings.plugins") -require("settings.options") -require("settings.cmp") -require("settings.lsp") -require("settings.devicons") -require("settings.treesitter") -require("settings.nvim-tree") -require("settings.pairs") -require("settings.indentline") -require("settings.project") -require("settings.dashboard") -require("settings.rainbow") -require("settings.dap") -require("settings.autocommands") -require("settings.telescope") -require("settings.vimtex") -require("settings.keymaps") -require("settings.barbar") --- --- -- simple plugins that don't make sense to put in a seperate file, would clutter too much -require("gitsigns").setup() -require("feline").setup() -require("impatient").enable_profile() -require('Comment').setup() -require("toggleterm").setup({ - autochdir = true, -}) -require('leap').add_default_mappings() -require("nvim-highlight-colors").setup { - render = 'background', -- or 'foreground' or 'first_column' - enable_named_colors = true, - enable_tailwind = true, -} +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json new file mode 100644 index 0000000..8ae0848 --- /dev/null +++ b/nvim/lazy-lock.json @@ -0,0 +1,67 @@ +{ + "LazyVim": { "branch": "main", "commit": "3c6357815c354ee2bb82b4162a484c1de6d575dc" }, + "LuaSnip": { "branch": "master", "commit": "9b5be5e9b460fad7134991d3fd0434466959db08" }, + "alpha-nvim": { "branch": "main", "commit": "4b0ba68022d8612b04b26844f1ce5e708c0d23b0" }, + "bufferline.nvim": { "branch": "main", "commit": "3677aceb9a72630b0613e56516c8f7151b86f95c" }, + "catppuccin": { "branch": "main", "commit": "5e2c9cf8277c42fb634007126c36d765fd176f4a" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "dressing.nvim": { "branch": "master", "commit": "5f44f829481640be0f96759c965ae22a3bcaf7ce" }, + "editorconfig.nvim": { "branch": "master", "commit": "5b9e303e1d6f7abfe616ce4cc8d3fffc554790bf" }, + "flit.nvim": { "branch": "main", "commit": "4c1739137acd3e7f03e2065a7be8a4dc41c7e461" }, + "friendly-snippets": { "branch": "main", "commit": "009887b76f15d16f69ae1341f86a7862f61cf2a1" }, + "gitsigns.nvim": { "branch": "main", "commit": "3b6c0a6412b31b91eb26bb8f712562cf7bb1d3be" }, + "harpoon": { "branch": "master", "commit": "f7040fd0c44e7a4010369136547de5604b9c22a1" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "lazy.nvim": { "branch": "main", "commit": "14075657131b9a19883a8845c47f1ab65461cd6f" }, + "leap.nvim": { "branch": "main", "commit": "d34680b16af977928228e57c68e5a162f1649e3c" }, + "lsp-inlayhints.nvim": { "branch": "main", "commit": "84ca3abe8aaecbb5b30ad89e4701d4a9c821b72c" }, + "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, + "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e4badf7984f7a5f0ac7dc10657dbedbd99a82f94" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "07fd5396c17eec6d5857039f232d0a03a2b28a5a" }, + "mason.nvim": { "branch": "main", "commit": "c400270804059087e2d0041893a95c6bab4df3c1" }, + "mini.bufremove": { "branch": "main", "commit": "8464390c932556dbb298ccf8a7587d6ef765e94f" }, + "mini.comment": { "branch": "main", "commit": "5e8c7f75c48d958ef84ed75772b0263284c8621d" }, + "mini.indentscope": { "branch": "main", "commit": "7998edc970610c05598c7aea3d21ece8dd87ed52" }, + "mini.pairs": { "branch": "main", "commit": "0256717c9364ad6b5384c37b4f96fb4f7cc74867" }, + "mini.surround": { "branch": "main", "commit": "b7c2f4bea1f60af8dfee71f696319d045d986ce6" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "aec592bb1f0cf67f7e1123053d1eb17700aa9ed4" }, + "neoconf.nvim": { "branch": "main", "commit": "c2604560ea764ad5f72e52f38c52ef7fc2d1be98" }, + "neodev.nvim": { "branch": "main", "commit": "c6b8ff8f0d261c8fb99a55ec7cc5dcf9cb928293" }, + "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, + "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, + "null-ls.nvim": { "branch": "main", "commit": "456cd2754c56c991c5e4df60a807d054c1bc7148" }, + "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, + "nvim-dap": { "branch": "master", "commit": "c1bfcd89ef440a44d02ade7e71befb1e5aa358ca" }, + "nvim-dap-ui": { "branch": "master", "commit": "bdb94e3853d11b5ce98ec182e5a3719d5c0ef6fd" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, + "nvim-highlight-colors": { "branch": "main", "commit": "af051bfe2971fc888d21cdfc59f5444904353b43" }, + "nvim-jdtls": { "branch": "master", "commit": "db08bfb87300fca2db91d15b64ca88a62970fb58" }, + "nvim-lspconfig": { "branch": "master", "commit": "1a2d5f5224c65b0709bf5da0ccd9cad29272083a" }, + "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, + "nvim-notify": { "branch": "master", "commit": "281e4d793c550c866bea3fb85d39de1f0188fb50" }, + "nvim-spectre": { "branch": "master", "commit": "b71b64afe9fedbfdd25a8abec897ff4af3bd553a" }, + "nvim-treesitter": { "branch": "master", "commit": "980f0816cc28c20e45715687a0a21b5b39af59eb" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, + "nvim-web-devicons": { "branch": "master", "commit": "b2060eac2fbc84e0637ea706378ff66451e7c424" }, + "persistence.nvim": { "branch": "main", "commit": "adcf6913693a0434665d162ee45a186230496f8a" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, + "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "f044050da3ec6e1cdb31985beecec6810cc27f0b" }, + "telescope-file-browser.nvim": { "branch": "master", "commit": "61b3769065131129716974f7fb63f82ee409bd80" }, + "telescope-project.nvim": { "branch": "master", "commit": "8e8ee37b7210761502cdf2c3a82b5ba8fb5b2972" }, + "telescope-zoxide": { "branch": "main", "commit": "68966349aa1b8e9ade403e18479ecf79447389a7" }, + "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, + "todo-comments.nvim": { "branch": "main", "commit": "74c7d28cb50b0713c881ef69bcb6cdd77d8907d1" }, + "toggleterm.nvim": { "branch": "main", "commit": "31d38d11390bcd35a568fcc65a79b7d6ec89de62" }, + "tokyonight.nvim": { "branch": "main", "commit": "a310c1ddb3a7d8b940834238f79f7bfd494ba76a" }, + "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, + "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, + "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, + "vim-startuptime": { "branch": "master", "commit": "6580cf539c33a212f4f5542068a3b4dd2b3ad834" }, + "vimtex": { "branch": "master", "commit": "6f7e507ed1c397838798e43a8249612864c929ba" }, + "which-key.nvim": { "branch": "main", "commit": "fb027738340502b556c3f43051f113bcaa7e8e63" } +} \ No newline at end of file diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..e45d3ac --- /dev/null +++ b/nvim/lua/config/autocmds.lua @@ -0,0 +1,12 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here +local function augroup(name) + return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true }) +end +vim.api.nvim_create_autocmd("TextYankPost", { + group = augroup("toggle_relative_group"), + callback = function(_) + vim.cmd("set norelativenumber") + end, +}) diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..60d09c6 --- /dev/null +++ b/nvim/lua/config/keymaps.lua @@ -0,0 +1,104 @@ +-- maps are automatically loaded on the VeryLazy event +-- Default maps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/maps.lua +-- Add any additional maps here + +local Util = require("lazyvim.util") + +local function map(mode, lhs, rhs, opts) + local keys = require("lazy.core.handler").handlers.keys + ---@cast keys LazyKeysHandler + -- do not create the map if a lazy keys handler exists + if not keys.active[keys.parse({ lhs, mode = mode }).id] then + opts = opts or {} + opts.silent = opts.silent ~= false + vim.keymap.set(mode, lhs, rhs, opts) + end +end +local opts = { noremap = true, silent = true } +local term_opts = { silent = true } + +map("n", "d", ':set relativenumberd', opts) +map("n", "y", ':set relativenumbery', opts) +map("n", "", ':set norelativenumber', opts) + +-- debug +map("n", "", ':lua require("dap").toggle_breakpoint()', opts) +map("n", "", ':lua require("dap").step_over()', opts) +map("n", "", ':lua require("dap").step_into()', opts) +map("n", "", ':lua require("dapui").toggle() :lua require("dap").continue() ', opts) +map("n", "", ':lua require("dap").continue()', opts) +map("n", "", ':lua require("dap").close() :lua require("dapui").toggle()', opts) + +-- file tree +map("n", "f", ":Neotree action=focus toggle=true", opts) + +-- toggle terminal +map("n", "", ":lua require('toggleterm').toggle(1)", opts) + +-- tab switching +map("n", "", ":BufferLineCyclePrev", opts) +map("n", "", ":BufferLineCycleNext", opts) + +-- formatting +map("n", "", ":lua vim.lsp.buf.format { async = true }", opts) +map("n", "a", ":Telescope lsp_definitions", opts) +map("n", "s", ":Telescope lsp_references", opts) +map("n", "d", ":Telescope lsp_type_definitions", opts) +map("n", "f", ":Telescope lsp_implementations", opts) +map("n", "q", ":lua vim.lsp.buf.code_action()", opts) +map("n", "w", ":lua vim.lsp.buf.signature_help()", opts) +map("n", "e", ":lua vim.lsp.buf.hover()", opts) +map("n", "r", ":lua vim.lsp.buf.rename()", opts) +map("n", "gq", ":lua require('telescope.builtin').git_commits()", opts) +map("n", "gw", ":lua require('telescope.builtin').git_bcommits()", opts) +map("n", "ge", ":lua require('telescope.builtin').git_branches()", opts) +map("n", "gr", ":lua require('telescope.builtin').git_status()", opts) +map("n", "ga", ":lua require('telescope.builtin').git_stash()", opts) + +-- window switching +function _G.set_terminal_maps() + local opts = { buffer = 0 } + vim.keymap.set("t", "", [[]], opts) + vim.keymap.set("t", "jk", [[]], opts) + vim.keymap.set("t", "", [[wincmd h]], opts) + vim.keymap.set("t", "", [[wincmd j]], opts) + vim.keymap.set("t", "", [[wincmd k]], opts) + vim.keymap.set("t", "", [[wincmd l]], opts) +end + +-- if you only want these mappings for toggle term use term://*toggleterm#* instead +vim.cmd("autocmd! TermOpen term://* lua set_terminal_maps()") +map("n", "", ":wincmd h", opts) +map("n", "", ":wincmd j", opts) +map("n", "", ":wincmd k", opts) +map("n", "", ":wincmd l", opts) + +-- harpoon man + +map("n", "", ":lua require('harpoon.ui').nav_file(1)", opts) +map("n", "", ":lua require('harpoon.ui').nav_file(2)", opts) +map("n", "", ":lua require('harpoon.ui').nav_file(3)", opts) +map("n", "fma", ":lua require('harpoon.mark').add_file()", opts) +map("n", "fmd", ":lua require('harpoon.mark').remove_file()", opts) + +-- telescope +map("n", "fb", ":Telescope file_browser", {}) +map("n", "fc", ":Cheatsheet", {}) +map("n", "ff", ":lua require('telescope.builtin').find_files()", {}) +map("n", "fg", ":lua require('telescope.builtin').live_grep()", {}) +map("n", "fh", ":lua require('telescope.builtin').help_tags()", {}) +map("n", "fp", ":lua require'telescope'.extensions.project.project{}", { noremap = true, silent = true }) +map("n", "fm", ":Telescope harpoon marks", { noremap = true, silent = true }) + +vim.keymap.set("n", "z", ":lua require('telescope').extensions.zoxide.list{}") + +-- trouble +map("n", "", "TroubleToggle", term_opts) + +-- gitui +map("n", "gg", function() + Util.float_term({ "gitui" }, { cwd = Util.get_root() }) +end, { desc = "gitui (root dir)" }) +map("n", "gG", function() + Util.float_term({ "gitui" }) +end, { desc = "gitui (cwd)" }) diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..3416a6b --- /dev/null +++ b/nvim/lua/config/lazy.lua @@ -0,0 +1,48 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", + lazypath }) +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.lang.typescript" }, + -- { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true, notify = false }, + change_detection = { enabled = true, notify = false }, --know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua new file mode 100644 index 0000000..7b0412f --- /dev/null +++ b/nvim/lua/config/options.lua @@ -0,0 +1,21 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +local options = { + clipboard = "unnamedplus", + mouse = "n", + fileencoding = "utf-8", + number = true, + showmode = true, + termguicolors = true, + spelllang = "en_us", + shell = "/usr/bin/zsh", + autochdir = true, + relativenumber = false, +} + +vim.g.mkdp_browser = "/usr/bin/firefox" +vim.g.mkdp_auto_start = 1 +for k, v in pairs(options) do + vim.opt[k] = v +end diff --git a/nvim/lua/plugins/cmp.lua b/nvim/lua/plugins/cmp.lua new file mode 100644 index 0000000..201405c --- /dev/null +++ b/nvim/lua/plugins/cmp.lua @@ -0,0 +1,123 @@ +return { + { + "L3MON4D3/LuaSnip", + build = (not jit.os:find("Windows")) + and "echo -e 'NOTE: jsregexp is optional, so not a big deal if it fails to build\n'; make install_jsregexp" + or nil, + dependencies = { + "rafamadriz/friendly-snippets", + config = function() + require("luasnip.loaders.from_vscode").lazy_load() + end, + }, + opts = { + history = true, + delete_check_events = "TextChanged", + updateevents = "TextChanged,TextChangedI", + enable_autosnippets = true, + }, + keys = function() + return {} + end, + config = function(_, opts) + require("luasnip").setup(opts) + end, + }, + { + "hrsh7th/nvim-cmp", + event = "InsertEnter", + dependencies = { + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + "saadparwaiz1/cmp_luasnip", + { "roobert/tailwindcss-colorizer-cmp.nvim", config = true }, + }, + opts = function() + local cmp = require("cmp") + local luasnip = require("luasnip") + return { + preselect = cmp.PreselectMode.None, + completion = { + completeopt = "menu,menuone,noinsert", + }, + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + mapping = { + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + [""] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + else + fallback() + end + end, { + "i", + "s", + }), + [""] = cmp.mapping(function(fallback) + if luasnip.expandable() then + luasnip.expand() + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + fallback() + end + end, { + "i", + "s", + }), + [""] = cmp.mapping(function(fallback) + if luasnip.expand_or_jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { + "i", + "s", + }), + }, + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "buffer" }, + { name = "path" }, + }), + formatting = { + format = function(entry, item) + local icons = require("lazyvim.config").icons.kinds + if icons[item.kind] then + item.kind = icons[item.kind] .. item.kind + end + return require("tailwindcss-colorizer-cmp").formatter(entry, item) + end, + }, + experimental = { + ghost_text = { + hl_group = "LspCodeLens", + }, + }, + } + end, + config = function(_, opts) + local cmp = require("cmp") + require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" }) + cmp.setup(opts) + end, + }, +} diff --git a/nvim/lua/plugins/dap.lua b/nvim/lua/plugins/dap.lua new file mode 100644 index 0000000..667b92b --- /dev/null +++ b/nvim/lua/plugins/dap.lua @@ -0,0 +1,255 @@ +return { + { + "mfussenegger/nvim-dap", + lazy = true, + dependencies = { + "rcarriga/nvim-dap-ui", + "theHamsta/nvim-dap-virtual-text", + { + "jay-babu/mason-nvim-dap.nvim", + opts = { + ensure_installed = { + "node2", + "python", + "javadbg", + "javatest", + "codelldb", + "firefox", + "bash", + "delve", + "coreclr", + }, + automatic_installation = true, + automatic_setup = true, + }, + config = function(_, opts) + require("mason-nvim-dap").setup(opts) + require("mason-nvim-dap").setup_handlers({ + javadbg = function() end, + }) + end, + }, + }, + config = function() + local dap = require("dap") + dap.adapters.lldb = { + type = "executable", + command = "/usr/bin/lldb-vscode", + name = "lldb", + } + dap.adapters.nlua = function(callback, config) + callback({ type = "server", host = config.host or "127.0.0.1", port = config.port or 8086 }) + end + dap.adapters.bashdb = { + type = "executable", + command = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/bash-debug-adapter", + name = "bashdb", + } + + local rust_dap = vim.fn.getcwd() + local filename = "" + for w in rust_dap:gmatch("([^/]+)") do + filename = w + end + + dap.configurations.rust = { + { + type = "lldb", + request = "launch", + program = function() + return rust_dap .. "/target/debug/" .. filename + end, + --program = '${fileDirname}/${fileBasenameNoExtension}', + cwd = "${workspaceFolder}", + stopOnEntry = true, + terminal = "integrated", + }, + } + + dap.configurations.cpp = { + { + name = "debug cpp", + type = "lldb", + request = "launch", + program = function() + return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/build/", "file") + end, + cwd = "${workspaceFolder}", + stopOnEntry = true, + terminal = "integrated", + }, + } + dap.configurations.c = dap.configurations.cpp + + dap.configurations.python = { + { + type = "python", -- the type here established the link to the adapter definition: `dap.adapters.python` + request = "launch", + name = "Launch file", + program = "${file}", -- This configuration will launch the current file if used. + pythonPath = function() + local cwd = vim.fn.getcwd() + if vim.fn.executable(cwd .. "/venv/bin/python") == 1 then + return cwd .. "/venv/bin/python" + elseif vim.fn.executable(cwd .. "/.venv/bin/python") == 1 then + return cwd .. "/.venv/bin/python" + else + return "/usr/bin/python" + end + end, + }, + } + dap.configurations.java = { + { + request = "attach", + name = "Debug (Attach) - Remote", + hostName = "127.0.0.1", + port = 5005, + }, + } + dap.configurations.go = { + { + type = "delve", + name = "Debug", + request = "launch", + program = "${file}", + }, + { + type = "delve", + name = "Debug test", -- configuration for debugging test files + request = "launch", + mode = "test", + program = "${file}", + }, + { + type = "delve", + name = "Debug test (go.mod)", + request = "launch", + mode = "test", + program = "./${relativeFileDirname}", + }, + } + dap.configurations.javascript = { + { + name = "Launch", + type = "js", + request = "launch", + program = "${file}", + cwd = vim.fn.getcwd(), + sourceMaps = true, + protocol = "inspector", + console = "integratedTerminal", + }, + } + dap.configurations.typescript = { + { + name = "Debug with Firefox", + type = "firefox", + request = "launch", + reAttach = true, + url = "http://localhost:3000", + webRoot = "${workspaceFolder}", + firefoxExecutable = "/usr/bin/firefox", + }, + } + dap.configurations.lua = { + { + type = "nlua", + request = "attach", + name = "Attach to running Neovim instance", + }, + } + dap.configurations.cs = { + { + type = "coreclr", + name = "launch - netcoredbg", + request = "launch", + program = function() + return vim.fn.input("Path to dll", vim.fn.getcwd() .. "/bin/Debug/", "file") + end, + }, + } + dap.configurations.sh = { + { + type = "bashdb", + request = "launch", + name = "Launch file", + showDebugOutput = true, + pathBashdb = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir/bashdb", + pathBashdbLib = vim.fn.stdpath("data") .. "/mason/packages/bash-debug-adapter/extension/bashdb_dir", + trace = true, + file = "${file}", + program = "${file}", + cwd = "${workspaceFolder}", + pathCat = "cat", + pathBash = "/bin/bash", + pathMkfifo = "mkfifo", + pathPkill = "pkill", + args = {}, + env = {}, + terminalKind = "integrated", + }, + } + require("dapui").setup({ + icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" }, + mappings = { + expand = { "", "<2-LeftMouse>" }, + open = "o", + remove = "d", + edit = "e", + repl = "r", + toggle = "t", + }, + expand_lines = vim.fn.has("nvim-0.7") == 1, + layouts = { + { + elements = { + { id = "scopes", size = 0.25 }, + "breakpoints", + "stacks", + "watches", + }, + size = 40, -- 40 columns + position = "left", + }, + { + elements = { + "repl", + "console", + }, + size = 0.25, -- 25% of total lines + position = "bottom", + }, + }, + controls = { + enabled = true, + element = "repl", + icons = { + pause = "", + play = "", + step_into = "", + step_over = "", + step_out = "", + step_back = "", + run_last = "↻", + terminate = "□", + }, + }, + floating = { + max_height = nil, -- These can be integers or a float between 0 and 1. + max_width = nil, -- Floats will be treated as percentage of your screen. + border = "single", -- Border style. Can be "single", "double" or "rounded" + mappings = { + close = { "q", "" }, + }, + }, + windows = { indent = 1 }, + render = { + max_type_length = nil, -- Can be integer or nil. + max_value_lines = 100, -- Can be integer or nil. + }, + }) + require("nvim-dap-virtual-text").setup() + end, + }, +} diff --git a/nvim/lua/plugins/dashboard.lua b/nvim/lua/plugins/dashboard.lua new file mode 100644 index 0000000..958da04 --- /dev/null +++ b/nvim/lua/plugins/dashboard.lua @@ -0,0 +1,69 @@ +return { + { + "goolord/alpha-nvim", + event = "VimEnter", + opts = function() + local alpha = require("alpha") + local dashboard = require("alpha.themes.dashboard") + dashboard.section.header.val = { + [[ _______ ___ _______. __ __ __ _______ ]], + [[| \ / \ / || | | | | | | ____|]], + [[| .--. | / ^ \ | (----`| |__| | | | | |__ ]], + [[| | | | / /_\ \ \ \ | __ | | | | __| ]], + [[| '--' | / _____ \ .----) | | | | | | | | |____ ]], + [[|_______/ /__/ \__\ |_______/ |__| |__| |__| |_______|]], + } + dashboard.section.buttons.val = { + dashboard.button("f", " Find file", ":lua require('telescope.builtin').find_files()"), + dashboard.button( + "b", + " Open File Browser", + ":lua require('telescope').extensions.file_browser.file_browser{}" + ), + dashboard.button("e", " New file", ":ene startinsert "), + dashboard.button("p", " Find project", ":lua require('telescope').extensions.project.project{}"), + dashboard.button("r", " Recently used files", ":lua require('telescope.builtin').oldfiles() "), + dashboard.button("t", " Zoxide", ":lua require('telescope').extensions.zoxide.list{}"), + dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua "), + dashboard.button("q", " Quit Neovim", ":qa"), + } + + local function footer() + return "dashie@dashie.org" + end + + dashboard.section.footer.val = footer() + + dashboard.section.footer.opts.hl = "Type" + dashboard.section.header.opts.hl = "Include" + dashboard.section.buttons.opts.hl = "Keyword" + + dashboard.opts.opts.noautocmd = true + alpha.setup(dashboard.opts) + end, + config = function(_, dashboard) + -- close Lazy and re-open when the dashboard is ready + if vim.o.filetype == "lazy" then + vim.cmd.close() + vim.api.nvim_create_autocmd("User", { + pattern = "AlphaReady", + callback = function() + require("lazy").show() + end, + }) + end + + require("alpha").setup(dashboard.opts) + + vim.api.nvim_create_autocmd("User", { + pattern = "LazyVimStarted", + callback = function() + local stats = require("lazy").stats() + local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) + dashboard.section.footer.val = "⚡ Neovim loaded " .. stats.count .. " plugins in " .. ms .. "ms" + pcall(vim.cmd.AlphaRedraw) + end, + }) + end, + }, +} diff --git a/nvim/lua/plugins/disabled.lua b/nvim/lua/plugins/disabled.lua new file mode 100644 index 0000000..0e680b8 --- /dev/null +++ b/nvim/lua/plugins/disabled.lua @@ -0,0 +1,4 @@ +return { + -- { "L3MON4D3/LuaSnip", enabled = false }, + -- { "hrsh7th/nvim-cmp", enabled = false }, +} diff --git a/nvim/lua/plugins/java.lua b/nvim/lua/plugins/java.lua new file mode 100644 index 0000000..5044d6f --- /dev/null +++ b/nvim/lua/plugins/java.lua @@ -0,0 +1,3 @@ +local M = {} + +return M diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua new file mode 100644 index 0000000..483681e --- /dev/null +++ b/nvim/lua/plugins/lsp.lua @@ -0,0 +1,188 @@ +return { + { + "neovim/nvim-lspconfig", + lazy = true, + event = { "BufReadPre", "BufNewFile" }, + dependencies = { + { "folke/neoconf.nvim", cmd = "Neoconf", config = true }, + { "folke/neodev.nvim", opts = { experimental = { pathStrict = true } } }, + "mason.nvim", + "williamboman/mason-lspconfig.nvim", + "lvimuser/lsp-inlayhints.nvim", + "mfussenegger/nvim-jdtls", + { + "hrsh7th/cmp-nvim-lsp", + cond = function() + return require("lazyvim.util").has("nvim-cmp") + end, + }, + }, + ---@class PluginLspOpts + opts = { + -- options for vim.diagnostic.config() + diagnostics = { + underline = true, + update_in_insert = false, + virtual_text = { spacing = 4, prefix = "●" }, + severity_sort = true, + }, + -- Automatically format on save + autoformat = false, + -- options for vim.lsp.buf.format + -- `bufnr` and `filter` is handled by the LazyVim formatter, + -- but can be also overridden when specified + format = { + formatting_options = nil, + timeout_ms = nil, + }, + -- LSP Server Settings + ---@type lspconfig.options + servers = { + jsonls = {}, + tailwindcss = {}, + cssls = {}, + html = {}, + clangd = {}, + pyright = {}, + cmake = {}, + bashls = {}, + ansiblels = {}, + marksman = {}, + asm_lsp = {}, + tsserver = { + settings = { + typescript = { + inlayHints = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + }, + }, + javascript = { + inlayHints = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + }, + }, + }, + }, + ltex = { + settings = { + ltex = { + checkFrequency = "save", + }, + }, + }, + texlab = {}, + gopls = {}, + sqls = {}, + taplo = {}, + lemminx = {}, + yamlls = {}, + lua_ls = { + -- mason = false, -- set to false if you don't want this server to be installed with mason + settings = { + Lua = { + workspace = { + checkThirdParty = false, + }, + completion = { + callSnippet = "Replace", + }, + }, + }, + }, + }, + setup = { + jdtls = function() + return true + end, + }, + }, + config = function(plugin, opts) + -- setup autoformat + require("lazyvim.plugins.lsp.format").autoformat = opts.autoformat + -- setup formatting and keymaps + require("lazyvim.util").on_attach(function(client, buffer) + require("lazyvim.plugins.lsp.format").on_attach(client, buffer) + require("lazyvim.plugins.lsp.keymaps").on_attach(client, buffer) + end) + + -- diagnostics + for name, icon in pairs(require("lazyvim.config").icons.diagnostics) do + name = "DiagnosticSign" .. name + vim.fn.sign_define(name, { text = icon, texthl = name, numhl = "" }) + end + vim.diagnostic.config(opts.diagnostics) + + require("lsp-inlayhints").setup({}) + local servers = opts.servers + local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) + local on_attach = function(client, bufnr) + vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") + local optslsp = { noremap = false, silent = true, buffer = bufnr } + require("lsp-inlayhints").on_attach(client, bufnr) + end + + local function setup(server) + local server_opts = vim.tbl_deep_extend("force", { + capabilities = vim.deepcopy(capabilities), + on_attach = on_attach, + vim.lsp.diagnostic.on_publish_diagnostics, + { + -- Disable virtual_text + virtual_text = true, + }, + }, servers[server] or {}) + + if opts.setup[server] then + if opts.setup[server](server, server_opts) then + return + end + elseif opts.setup["*"] then + if opts.setup["*"](server, server_opts) then + return + end + end + require("lspconfig")[server].setup(server_opts) + end + + -- temp fix for lspconfig rename + -- https://github.com/neovim/nvim-lspconfig/pull/2439 + local mappings = require("mason-lspconfig.mappings.server") + if not mappings.lspconfig_to_package.lua_ls then + mappings.lspconfig_to_package.lua_ls = "lua-language-server" + mappings.package_to_lspconfig["lua-language-server"] = "lua_ls" + end + + local mlsp = require("mason-lspconfig") + local available = mlsp.get_available_servers() + + local ensure_installed = {} ---@type string[] + for server, server_opts in pairs(servers) do + if server_opts then + server_opts = server_opts == true and {} or server_opts + -- run manual setup if mason=false or if this is a server that cannot be installed with mason-lspconfig + if server_opts.mason == false or not vim.tbl_contains(available, server) then + setup(server) + else + ensure_installed[#ensure_installed + 1] = server + end + end + end + + require("mason-lspconfig").setup({ ensure_installed = ensure_installed }) + require("mason-lspconfig").setup_handlers({ setup }) + vim.cmd([[highlight LspInlayHint guibg=#1A1B26]]) + end, + }, +} diff --git a/nvim/lua/plugins/plugins.lua b/nvim/lua/plugins/plugins.lua new file mode 100644 index 0000000..3cef678 --- /dev/null +++ b/nvim/lua/plugins/plugins.lua @@ -0,0 +1,129 @@ +return { + { + "LazyVim/LazyVim", + opts = { + colorscheme = "tokyonight-night", + }, + }, + { + "akinsho/toggleterm.nvim", + lazy = true, + opts = { + autochdir = true, + }, + }, + { + "brenoprata10/nvim-highlight-colors", + lazy = true, + event = { "BufReadPre", "BufNewFile" }, + config = function(_, _) + require("nvim-highlight-colors").setup({ + enable_tailwind = true, + }) + vim.cmd(":hi clear CursorLine") + vim.cmd(":hi clear CursorLineFold") + vim.cmd(":hi clear CursorLineSign") + end, + }, + { + "gpanders/editorconfig.nvim", + event = { "BufReadPre", "BufNewFile" }, + lazy = true, + }, + { + "lvimuser/lsp-inlayhints.nvim", + event = { "BufReadPre", "BufNewFile" }, + lazy = true, + }, + { + "ThePrimeagen/harpoon", + lazy = true, + config = function() + require("telescope").load_extension("harpoon") + end, + }, + { + "iamcco/markdown-preview.nvim", + lazy = true, + event = "FileType markdown", + build = "cd app && yarn install", + }, + { + "nvim-telescope/telescope-project.nvim", + lazy = true, + }, + { + "nvim-telescope/telescope-file-browser.nvim", + lazy = true, + config = function() + require("telescope").load_extension("file_browser") + end, + }, + { + "jvgrootveld/telescope-zoxide", + lazy = true, + config = function() + local z_utils = require("telescope._extensions.zoxide.utils") + local t = require("telescope") + -- Configure the extension + t.setup({ + extensions = { + zoxide = { + prompt_title = "[ Queries ]", + mappings = { + default = { + after_action = function(selection) + print("Update to (" .. selection.z_score .. ") " .. selection.path) + end, + }, + [""] = { + before_action = function(selection) + print("before C-s") + end, + action = function(selection) + vim.cmd("edit " .. selection.path) + end, + }, + [""] = { action = z_utils.create_basic_command("split") }, + }, + }, + }, + }) + + -- Load the extension + t.load_extension("zoxide") + end, + }, + { + "lervag/vimtex", + config = function() + -- require("vimtex").setup() + vim.cmd("let g:vimtex_quickfix_mode=0") + vim.cmd("let g:vimtex_view_general_viewer = 'evince'") + vim.cmd("let g:vimtex_compiler_method = 'tectonic'") + vim.cmd( + "let g:vimtex_compiler_latexmk = {'options': ['-pdf', '-shell-escape', '-file-line-error', '--extra-mem-bot=10000000', '-synctex=1', '-interaction=nonstopmode',],}" + ) + end, + }, + { + "nvim-neo-tree/neo-tree.nvim", + opts = { + close_if_last_window = true, + filesystem = { + group_empty_dirs = true, + }, + window = { + mappings = { + ["f"] = "close_window", + }, + position = "right", + scan_mode = "deep", + }, + }, + }, + { + "echasnovski/mini.ai", + enabled = false, + }, +} diff --git a/nvim/lua/settings/.prettierrc b/nvim/lua/settings/.prettierrc deleted file mode 100644 index e524ddd..0000000 --- a/nvim/lua/settings/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "trailingComma": "all", - "tabWidth": 4, - "semi": true, - "singleQuote": true -} diff --git a/nvim/lua/settings/autocommands.lua b/nvim/lua/settings/autocommands.lua deleted file mode 100644 index 23e4c35..0000000 --- a/nvim/lua/settings/autocommands.lua +++ /dev/null @@ -1,34 +0,0 @@ -vim.cmd('let g:vimtex_view_general_viewer = "evince"') -vim.cmd('let g:vimtex_compiler_method = "latexmk"') - --- colorscheme -local options = { - transparent = false, -} -local palettes = { - nightfox = { - bg1 = "#1A1B27", - }, -} -require("nightfox").setup({ - palettes = palettes, - options = options, -}) -vim.cmd("colorscheme nightfox") - -vim.cmd([[highlight TabLineSel guifg=#192330 guibg=#192330]]) -vim.cmd([[highlight BufferCurrent guifg=#FFFFFF guibg=#192330]]) -vim.cmd([[highlight BufferCurrentIndex guifg=#FFFFFF guibg=#192330]]) -vim.cmd([[highlight BufferCurrentMod guifg=#dbc074 guibg=#192330]]) -vim.cmd([[highlight BufferCurrentSign guifg=#719cd6 guibg=#192330]]) -vim.cmd([[highlight BufferCurrentTarget guifg=#c94f6d guibg=#192330]]) -vim.cmd([[highlight BufferInactive guifg=#888888 guibg=#131a24]]) -vim.cmd([[highlight BufferInactiveMod guifg=#dbc074 guibg=#131a24]]) -vim.cmd([[highlight BufferInactiveSign guifg=#719cd6 guibg=#131a24]]) - -vim.cmd([[highlight LspInlayHint guibg=#192330]]) -vim.cmd(":syntax off") -vim.cmd([[highlight CursorLine guibg=#1A1B27]]) -vim.cmd([[highlight CursorLineSign guibg=#1A1B27]]) -vim.cmd([[highlight CursorLineFold guibg=#1A1B27]]) - diff --git a/nvim/lua/settings/barbar.lua b/nvim/lua/settings/barbar.lua deleted file mode 100644 index ae9db9c..0000000 --- a/nvim/lua/settings/barbar.lua +++ /dev/null @@ -1,42 +0,0 @@ --- Set barbar's options -require("bufferline").setup({ - animation = true, - auto_hide = false, - tabpages = true, - closable = true, - clickable = true, - exclude_name = { "package.json" }, - icons = true, - icon_custom_colors = false, - icon_separator_active = "", - icon_separator_inactive = "", - icon_close_tab = "", - icon_close_tab_modified = "●", - icon_pinned = "車", - insert_at_end = false, - maximum_padding = 1, - minimum_padding = 1, - maximum_length = 30, - semantic_letters = true, - letters = "asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP", - no_name_title = nil, -}) - -local nvim_tree_events = require("nvim-tree.events") -local bufferline_api = require("bufferline.api") - -local function get_tree_size() - return require("nvim-tree.view").View.width -end - -nvim_tree_events.subscribe("TreeOpen", function() - bufferline_api.set_offset(0) -end) - -nvim_tree_events.subscribe("Resize", function() - bufferline_api.set_offset(0) -end) - -nvim_tree_events.subscribe("TreeClose", function() - bufferline_api.set_offset(0) -end) diff --git a/nvim/lua/settings/cmp.lua b/nvim/lua/settings/cmp.lua deleted file mode 100644 index 2c4a430..0000000 --- a/nvim/lua/settings/cmp.lua +++ /dev/null @@ -1,151 +0,0 @@ -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end - -local snip_status_ok, luasnip = pcall(require, "luasnip") -if not snip_status_ok then - return -end - -require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" }) - -luasnip.config.set_config({ - history = true, - delete_check_events = "TextChanged", - updateevents = "TextChanged,TextChangedI", - enable_autosnippets = true, - ext_opts = { - [require("luasnip.util.types").choiceNode] = { - active = { - virt_text = { { - Snippet = "", - "Snippet", - } }, - }, - }, - }, -}) - -require("luasnip/loaders/from_vscode").lazy_load() - -local check_backspace = function() - local col = vim.fn.col(".") - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") -end - ---   פּ ﯟ   some other good icons -local kind_icons = { - Text = "", - Method = "m", - Function = "", - Constructor = "", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", -} --- find more here: https://www.nerdfonts.com/cheat-sheet - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) -- For `luasnip` users. - end, - }, - mapping = { - [""] = cmp.mapping.scroll_docs(-1), - [""] = cmp.mapping.scroll_docs(1), - [""] = cmp.mapping({ - i = cmp.mapping.abort(), - c = cmp.mapping.close(), - }), - [""] = cmp.mapping.confirm({ select = false }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - else - fallback() - end - end, { "i", "s" }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - else - fallback() - end - end, { - "i", - "s", - }), - [""] = cmp.mapping(function(fallback) - if luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { - "i", - "s", - }), - [""] = cmp.mapping(function(fallback) - if luasnip.expand_or_jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { - "i", - "s", - }), - }, - view = { - { entries = "native" }, - }, - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - vim_item.menu = ({ - nvim_lsp = "[LSP]", - luasnip = "[Snippet]", - buffer = "[Buffer]", - path = "[Path]", - })[entry.source.name] - return vim_item - end, - }, - sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "path" }, - { name = "buffer" }, - }, - window = { - documentation = { - border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" }, - }, - }, - experimental = { - ghost_text = true, - }, -}) diff --git a/nvim/lua/settings/dap.lua b/nvim/lua/settings/dap.lua deleted file mode 100644 index 5dc6292..0000000 --- a/nvim/lua/settings/dap.lua +++ /dev/null @@ -1,123 +0,0 @@ -local dap = require("dap") -dap.adapters.lldb = { - type = 'executable', - command = '/usr/bin/lldb-vscode', - name = "lldb" -} - -local rust_dap = vim.fn.getcwd() -local filename = "" -for w in rust_dap:gmatch("([^/]+)") do filename = w end - -dap.configurations.rust = { - { - type = "lldb", - request = "launch", - program = function() - return rust_dap .. "/target/debug/" .. filename - end, - --program = '${fileDirname}/${fileBasenameNoExtension}', - cwd = "${workspaceFolder}", - stopOnEntry = true, - terminal = "integrated", - }, -} - -dap.configurations.cpp = { - { - name = "debug cpp", - type = "lldb", - request = "launch", - program = function() - return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/build/", "file") - end, - cwd = "${workspaceFolder}", - stopOnEntry = true, - terminal = "integrated", - }, -} -dap.configurations.c = dap.configurations.cpp - -require("dapui").setup({ - icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" }, - mappings = { - -- Use a table to apply multiple mappings - expand = { "", "<2-LeftMouse>" }, - open = "o", - remove = "d", - edit = "e", - repl = "r", - toggle = "t", - }, - -- Expand lines larger than the window - -- Requires >= 0.7 - expand_lines = vim.fn.has("nvim-0.7") == 1, - -- Layouts define sections of the screen to place windows. - -- The position can be "left", "right", "top" or "bottom". - -- The size specifies the height/width depending on position. It can be an Int - -- or a Float. Integer specifies height/width directly (i.e. 20 lines/columns) while - -- Float value specifies percentage (i.e. 0.3 - 30% of available lines/columns) - -- Elements are the elements shown in the layout (in order). - -- Layouts are opened in order so that earlier layouts take priority in window sizing. - layouts = { - { - elements = { - -- Elements can be strings or table with id and size keys. - { id = "scopes", size = 0.25 }, - "breakpoints", - "stacks", - "watches", - }, - size = 40, -- 40 columns - position = "left", - }, - { - elements = { - "repl", - "console", - }, - size = 0.25, -- 25% of total lines - position = "bottom", - }, - }, - controls = { - -- Requires Neovim nightly (or 0.8 when released) - enabled = true, - -- Display controls in this element - element = "repl", - icons = { - pause = "", - play = "", - step_into = "", - step_over = "", - step_out = "", - step_back = "", - run_last = "↻", - terminate = "□", - }, - }, - floating = { - max_height = nil, -- These can be integers or a float between 0 and 1. - max_width = nil, -- Floats will be treated as percentage of your screen. - border = "single", -- Border style. Can be "single", "double" or "rounded" - mappings = { - close = { "q", "" }, - }, - }, - windows = { indent = 1 }, - render = { - max_type_length = nil, -- Can be integer or nil. - max_value_lines = 100, -- Can be integer or nil. - }, -}) - -require("mason-nvim-dap").setup({ - ensure_installed = { - "bash-debug-adapter", - "firefox-debug-adapter", - "js-debug-adapter", - "node-debug2-adapter", - }, -}) - -require("nvim-dap-virtual-text").setup() diff --git a/nvim/lua/settings/dashboard.lua b/nvim/lua/settings/dashboard.lua deleted file mode 100644 index d08da71..0000000 --- a/nvim/lua/settings/dashboard.lua +++ /dev/null @@ -1,37 +0,0 @@ -local status_ok, alpha = pcall(require, "alpha") -if not status_ok then - return -end - -local dashboard = require("alpha.themes.dashboard") -dashboard.section.header.val = { - [[ _______ ___ _______. __ __ __ _______ ]], - [[| \ / \ / || | | | | | | ____|]], - [[| .--. | / ^ \ | (----`| |__| | | | | |__ ]], - [[| | | | / /_\ \ \ \ | __ | | | | __| ]], - [[| '--' | / _____ \ .----) | | | | | | | | |____ ]], - [[|_______/ /__/ \__\ |_______/ |__| |__| |__| |_______|]] -} -dashboard.section.buttons.val = { - dashboard.button("f", " Find file", ":Telescope find_files "), - dashboard.button("b", " Open File Browser", ":Telescope file_browser"), - dashboard.button("e", " New file", ":ene startinsert "), - dashboard.button("p", " Find project", ":Telescope project "), - dashboard.button("r", " Recently used files", ":Telescope oldfiles "), - dashboard.button("t", " Zoxide", ":Telescope zoxide list "), - dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua "), - dashboard.button("q", " Quit Neovim", ":qa"), -} - -local function footer() - return "dashie@dashie.org" -end - -dashboard.section.footer.val = footer() - -dashboard.section.footer.opts.hl = "Type" -dashboard.section.header.opts.hl = "Include" -dashboard.section.buttons.opts.hl = "Keyword" - -dashboard.opts.opts.noautocmd = true -alpha.setup(dashboard.opts) diff --git a/nvim/lua/settings/devicons.lua b/nvim/lua/settings/devicons.lua deleted file mode 100644 index 25b8c1c..0000000 --- a/nvim/lua/settings/devicons.lua +++ /dev/null @@ -1,22 +0,0 @@ -local status_ok, _ = pcall(require, "nvim-web-devicons") -if not status_ok then - return -end - -require 'nvim-web-devicons'.setup { - -- your personnal icons can go here (to override) - -- you can specify color or cterm_color instead of specifying both of them - -- DevIcon will be appended to `name` - override = { - zsh = { - icon = "", - color = "#428850", - cterm_color = "65", - name = "Zsh" - } - }; - - default = true; -} - -require 'nvim-web-devicons'.get_icons() diff --git a/nvim/lua/settings/indentline.lua b/nvim/lua/settings/indentline.lua deleted file mode 100644 index a85ff6e..0000000 --- a/nvim/lua/settings/indentline.lua +++ /dev/null @@ -1,11 +0,0 @@ -local status_ok, indent_blankline = pcall(require, "indent_blankline") -if not status_ok then - return -end - -vim.opt.list = true -require("indent_blankline").setup { - space_char_blankline = " ", - show_current_context = true, - show_current_context_start = true, -} diff --git a/nvim/lua/settings/keymaps.lua b/nvim/lua/settings/keymaps.lua deleted file mode 100644 index 0649f49..0000000 --- a/nvim/lua/settings/keymaps.lua +++ /dev/null @@ -1,85 +0,0 @@ -local opts = { noremap = true, silent = true } -local term_opts = { silent = true } -local keymap = vim.api.nvim_set_keymap - --- debug -keymap("n", "", ':lua require("dap").toggle_breakpoint()', opts) -keymap("n", "", ':lua require("dap").step_over()', opts) -keymap("n", "", ':lua require("dap").step_into()', opts) -keymap("n", "", ':lua require("dapui").toggle() :lua require("dap").continue() ', opts) -keymap("n", "", ':lua require("dap").continue()', opts) -keymap("n", "", ':lua require("dap").close() :lua require("dapui").toggle()', opts) - --- file tree -keymap("n", "f", ':lua require("nvim-tree").toggle()', opts) - --- toggle terminal -keymap('n', '', ':ToggleTerm ZSH', opts) - --- tab switching -keymap("n", "", ":BufferPrev", opts) -keymap("n", "", ":BufferNext", opts) - --- formatting -keymap("n", "", ":lua vim.lsp.buf.format { async = true }", opts) -keymap("n", "a", ":Telescope lsp_definitions", opts) -keymap("n", "s", ":Telescope lsp_references", opts) -keymap("n", "d", ":Telescope lsp_type_definitions", opts) -keymap("n", "f", ":Telescope lsp_implementations", opts) -keymap("n", "q", ":lua vim.lsp.buf.code_action()", opts) -keymap("n", "w", ":lua vim.lsp.buf.signature_help()", opts) -keymap("n", "e", ":lua vim.lsp.buf.hover()", opts) -keymap("n", "r", ":lua vim.lsp.buf.rename()", opts) -keymap("n", "gq", ":lua require('telescope.builtin').git_commits()", opts) -keymap("n", "gw", ":lua require('telescope.builtin').git_bcommits()", opts) -keymap("n", "ge", ":lua require('telescope.builtin').git_branches()", opts) -keymap("n", "gr", ":lua require('telescope.builtin').git_status()", opts) -keymap("n", "ga", ":lua require('telescope.builtin').git_stash()", opts) - --- window switching -function _G.set_terminal_keymaps() - local opts = { buffer = 0 } - vim.keymap.set('t', '', [[]], opts) - vim.keymap.set('t', 'jk', [[]], opts) - vim.keymap.set('t', '', [[wincmd h]], opts) - vim.keymap.set('t', '', [[wincmd j]], opts) - vim.keymap.set('t', '', [[wincmd k]], opts) - vim.keymap.set('t', '', [[wincmd l]], opts) -end - --- if you only want these mappings for toggle term use term://*toggleterm#* instead -vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()') -keymap("n", "", ":wincmd h", opts) -keymap("n", "", ":wincmd j", opts) -keymap("n", "", ":wincmd k", opts) -keymap("n", "", ":wincmd l", opts) - - --- harpoon man - -keymap("n", "", ":lua require('harpoon.ui').nav_file(1)", opts) -keymap("n", "", ":lua require('harpoon.ui').nav_file(2)", opts) -keymap("n", "", ":lua require('harpoon.ui').nav_file(3)", opts) -keymap("n", "fma", ":lua require('harpoon.mark').add_file()", opts) -keymap("n", "fmd", ":lua require('harpoon.mark').remove_file()", opts) - - --- telescope -keymap("n", "fb", ":Telescope file_browser", {}) -keymap("n", "fc", ":Cheatsheet", {}) -keymap("n", "ff", ":lua require('telescope.builtin').find_files()", {}) -keymap("n", "fg", ":lua require('telescope.builtin').live_grep()", {}) -keymap("n", "fh", ":lua require('telescope.builtin').help_tags()", {}) -keymap("n", "fp", ":lua require'telescope'.extensions.project.project{}", { noremap = true, silent = true }) -keymap("n", "fm", ":Telescope harpoon marks", { noremap = true, silent = true }) - -vim.keymap.set("n", "z", ":lua require('telescope').extensions.zoxide.list{}") - --- trouble -keymap("n", "", "TroubleToggle", term_opts) -require("trouble").setup({ - action_keys = { - --remove the fucking stupid keymap amk - open_tab = {}, - }, -}) diff --git a/nvim/lua/settings/lsp.lua b/nvim/lua/settings/lsp.lua deleted file mode 100644 index 03243a7..0000000 --- a/nvim/lua/settings/lsp.lua +++ /dev/null @@ -1,110 +0,0 @@ -local status_ok, _ = pcall(require, "lspconfig") -if not status_ok then - return -end - -require("mason").setup({ - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗", - }, - }, -}) - -require("mason-lspconfig").setup({ - ensure_installed = { - "cssls", -- css - "html", -- html - "clangd", -- cpp / c - "lua_ls", -- lua - "pyright", -- python - "cmake", -- cmake - "bashls", -- shell - "ansiblels", -- ansible - "marksman", -- markdown - "asm_lsp", -- assembly - "tsserver", -- js and ts - "ltex", -- latex - "jdtls", -- jafuck - "gopls", -- yet another gargabe collector - "sqls", -- sql - "taplo", -- toml - "lemminx", -- xml - "yamlls", -- yaml - "bashls", -- shell - }, - automatic_installation = true, -}) - -local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()) -capabilities.textDocument.completion.completionItem.snippetSupport = true - --- LSP -require("lsp-inlayhints").setup {} -local on_attach = function(client, bufnr) - vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") - local optslsp = { noremap = false, silent = true, buffer = bufnr } - -- require("lsp-format").on_attach(client) - require("lsp-inlayhints").on_attach(client, bufnr) -end - -require("rust-tools").setup({ - server = { - root_dir = require('lspconfig').util.find_git_ancestor, - }, -}) - -require("mason-lspconfig").setup_handlers({ - function(server_name) -- default handler (optional) - require("lspconfig")[server_name].setup({ - capabilities = capabilities, - on_attach = on_attach, - vim.lsp.diagnostic.on_publish_diagnostics, { - -- Disable virtual_text - virtual_text = true, - } - - }) - end, - ['tsserver'] = function() - require('lspconfig').tsserver.setup { - settings = { - typescript = { - inlayHints = { - includeInlayParameterNameHints = 'all', - includeInlayParameterNameHintsWhenArgumentMatchesName = true, - includeInlayFunctionParameterTypeHints = true, - includeInlayVariableTypeHints = true, - includeInlayPropertyDeclarationTypeHints = true, - includeInlayFunctionLikeReturnTypeHints = true, - includeInlayEnumMemberValueHints = true, - } - }, - javascript = { - inlayHints = { - includeInlayParameterNameHints = 'all', - includeInlayParameterNameHintsWhenArgumentMatchesName = true, - includeInlayFunctionParameterTypeHints = true, - includeInlayVariableTypeHints = true, - includeInlayPropertyDeclarationTypeHints = true, - includeInlayFunctionLikeReturnTypeHints = true, - includeInlayEnumMemberValueHints = true, - } - } - }, - capabilities = capabilities, - on_attach = on_attach, - vim.lsp.diagnostic.on_publish_diagnostics, { - virtual_text = true, - } - } - end, -}) - - --- special server setups -require("clangd_extensions").setup( --- brudi no troll plox -) diff --git a/nvim/lua/settings/nvim-tree.lua b/nvim/lua/settings/nvim-tree.lua deleted file mode 100644 index 6542978..0000000 --- a/nvim/lua/settings/nvim-tree.lua +++ /dev/null @@ -1,262 +0,0 @@ --- following options are the default --- each of these are documented in `:help nvim-tree.OPTION_NAME` - -local status_ok, nvim_tree = pcall(require, "nvim-tree") -if not status_ok then - return -end - -local config_status_ok, nvim_tree_config = pcall(require, "nvim-tree.config") -if not config_status_ok then - return -end - - -nvim_tree.setup { -- BEGIN_DEFAULT_OPTS - auto_reload_on_write = true, - create_in_closed_folder = false, - disable_netrw = false, - hijack_cursor = false, - hijack_netrw = true, - hijack_unnamed_buffer_when_opening = false, - open_on_setup = false, - open_on_setup_file = false, - open_on_tab = false, - sort_by = "name", - root_dirs = {}, - prefer_startup_root = false, - sync_root_with_cwd = true, - reload_on_bufenter = false, - respect_buf_cwd = true, - on_attach = "disable", -- function(bufnr). If nil, will use the deprecated mapping strategy - remove_keymaps = false, -- boolean (disable totally or not) or list of key (lhs) - view = { - adaptive_size = false, - centralize_selection = false, - width = 30, - hide_root_folder = false, - side = "right", - preserve_window_proportions = false, - number = false, - relativenumber = false, - signcolumn = "yes", - -- @deprecated - mappings = { - custom_only = false, - list = { - -- user mappings go here - }, - }, - float = { - enable = false, - open_win_config = { - relative = "editor", - border = "rounded", - width = 30, - height = 30, - row = 1, - col = 1, - }, - }, - }, - renderer = { - add_trailing = false, - group_empty = true, - highlight_git = false, - full_name = false, - highlight_opened_files = "none", - root_folder_modifier = ":~", - indent_width = 2, - indent_markers = { - enable = false, - inline_arrows = true, - icons = { - corner = "└", - edge = "│", - item = "│", - bottom = "─", - none = " ", - }, - }, - icons = { - webdev_colors = true, - git_placement = "before", - padding = " ", - symlink_arrow = " ➛ ", - show = { - file = true, - folder = true, - folder_arrow = true, - git = true, - }, - glyphs = { - default = "", - symlink = "", - bookmark = "", - folder = { - arrow_closed = "", - arrow_open = "", - default = "", - open = "", - empty = "", - empty_open = "", - symlink = "", - symlink_open = "", - }, - git = { - unstaged = "✗", - staged = "✓", - unmerged = "", - renamed = "➜", - untracked = "★", - deleted = "", - ignored = "◌", - }, - }, - }, - special_files = { "cargo.toml", "makefile", "readme.md", "readme.md" }, - symlink_destination = true, - }, - hijack_directories = { - enable = true, - auto_open = true, - }, - update_focused_file = { - enable = true, - -- update_cwd = true, - update_root = false, - ignore_list = {}, - }, - ignore_ft_on_setup = {}, - system_open = { - cmd = "", - args = {}, - }, - diagnostics = { - enable = false, - show_on_dirs = false, - debounce_delay = 50, - icons = { - hint = "", - info = "", - warning = "", - error = "", - }, - }, - filters = { - dotfiles = false, - custom = {}, - exclude = {}, - }, - filesystem_watchers = { - enable = true, - debounce_delay = 50, - }, - git = { - enable = true, - ignore = true, - show_on_dirs = true, - timeout = 400, - }, - actions = { - use_system_clipboard = true, - change_dir = { - enable = true, - global = false, - restrict_above_cwd = false, - }, - expand_all = { - max_folder_discovery = 300, - exclude = {}, - }, - file_popup = { - open_win_config = { - col = 1, - row = 1, - relative = "cursor", - border = "shadow", - style = "minimal", - }, - }, - open_file = { - quit_on_open = false, - resize_window = true, - window_picker = { - enable = true, - chars = "abcdefghijklmnopqrstuvwxyz1234567890", - exclude = { - filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" }, - buftype = { "nofile", "terminal", "help" }, - }, - }, - }, - remove_file = { - close_window = true, - }, - }, - trash = { - cmd = "gio trash", - require_confirm = true, - }, - live_filter = { - prefix = "[FILTER]: ", - always_show_folders = true, - }, - log = { - enable = false, - truncate = false, - types = { - all = false, - config = false, - copy_paste = false, - dev = false, - diagnostics = false, - git = false, - profile = false, - watcher = false, - }, - }, -} - --- nvim-tree is also there in modified buffers so this function filter it out -local modifiedBufs = function(bufs) - local t = 0 - for k, v in pairs(bufs) do - if v.name:match("NvimTree_") == nil then - t = t + 1 - end - end - return t -end - -vim.api.nvim_create_autocmd("BufEnter", { - nested = true, - callback = function() - if #vim.api.nvim_list_wins() == 1 and - vim.api.nvim_buf_get_name(0):match("NvimTree_") ~= nil and - modifiedBufs(vim.fn.getbufinfo({ bufmodified = 1 })) == 0 then - vim.cmd "quit" - end - end -}) - -local function open_nvim_tree(data) - - -- buffer is a directory - local directory = vim.fn.isdirectory(data.file) == 1 - - if not directory then - return - end - - -- change to the directory - if directory then - vim.cmd.cd(data.file) - end - - -- open the tree - require("nvim-tree.api").tree.open() -end - -vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree }) - diff --git a/nvim/lua/settings/options.lua b/nvim/lua/settings/options.lua deleted file mode 100644 index 87c91c4..0000000 --- a/nvim/lua/settings/options.lua +++ /dev/null @@ -1,23 +0,0 @@ -local options = { - clipboard = "unnamedplus", - mouse = "n", - fileencoding = "utf-8", - number = true, - showmode = true, - termguicolors = true, - spelllang = "en_us", - shell = "/usr/bin/zsh", - autochdir = true, - cursorline = true, -} - -vim.g.mkdp_browser = '/usr/bin/firefox' -vim.g.mkdp_auto_start = 1 - --- space leader -vim.g.mapleader = " " -vim.keymap.set("n", "", "", { silent = true, noremap = false }) - -for k, v in pairs(options) do - vim.opt[k] = v -end diff --git a/nvim/lua/settings/pairs.lua b/nvim/lua/settings/pairs.lua deleted file mode 100644 index 502be27..0000000 --- a/nvim/lua/settings/pairs.lua +++ /dev/null @@ -1,36 +0,0 @@ --- Setup nvim-cmp. -local status_ok, npairs = pcall(require, "nvim-autopairs") -if not status_ok then - return -end -local Rule = require('nvim-autopairs.rule') - -npairs.setup({ - check_ts = true, - ts_config = { - lua = { "string", "source" }, - javascript = { "string", "template_string" }, - java = false, - }, - disable_filetype = { "TelescopePrompt", "spectre_panel" }, - fast_wrap = { - map = "", - chars = { "{", "[", "(", "<", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, -- Offset from pattern match - end_key = "$", - keys = "qwertyuiopzxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -}) - -npairs.add_rule(Rule("<", ">")) - -local cmp_autopairs = require("nvim-autopairs.completion.cmp") -local cmp_status_ok, cmp = pcall(require, "cmp") -if not cmp_status_ok then - return -end -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) diff --git a/nvim/lua/settings/plugins.lua b/nvim/lua/settings/plugins.lua deleted file mode 100644 index 829fb42..0000000 --- a/nvim/lua/settings/plugins.lua +++ /dev/null @@ -1,61 +0,0 @@ -local Plug = vim.fn["plug#"] -vim.call("plug#begin", "~/.config/nvim/plugged") -Plug("nvim-lua/popup.nvim") -- An implementation of the Popup API from vim in Neovim -Plug("nvim-lua/plenary.nvim") -- Useful lua functions used ny lots of plugins -Plug("EdenEast/nightfox.nvim") -- dark theme -Plug("kyazdani42/nvim-web-devicons") -- icons -Plug("feline-nvim/feline.nvim") -- bottom bar -Plug("lewis6991/gitsigns.nvim") -- git signs on the bar and on the left -Plug("nvim-lua/plenary.nvim") -- library, don't delete -Plug("williamboman/mason.nvim") -- lsp and dap -Plug("williamboman/mason-lspconfig.nvim") -- lsp to mason bridge -Plug("neovim/nvim-lspconfig") -- nvim lsp -Plug("mfussenegger/nvim-dap") -- debugging capabilities -Plug("rcarriga/nvim-dap-ui") -- debug ui -Plug("theHamsta/nvim-dap-virtual-text") -- more debug ui -Plug("jayp0521/mason-nvim-dap.nvim") -- debug mason bridge -Plug("nvim-treesitter/nvim-treesitter", -{ ["do"] = vim.fn[":TSUpdate"] }) -- syntax colors -Plug("hrsh7th/nvim-cmp") -- completions -Plug("hrsh7th/cmp-nvim-lsp") -- lsp integration with completions -Plug("hrsh7th/cmp-path") -- path completion -Plug("hrsh7th/cmp-cmdline") -- command completion -Plug("saadparwaiz1/cmp_luasnip") -- snip completion -Plug("L3MON4D3/LuaSnip") -- snippet plugin -Plug("kyazdani42/nvim-tree.lua") -- file viewer on the right -Plug("windwp/nvim-autopairs") -- autopairs -Plug("romgrk/barbar.nvim") -- bar on the top -Plug("numToStr/Comment.nvim") -- fast comments -Plug("lukas-reineke/indent-blankline.nvim") -- indicators for indentation (needs config) -Plug("lewis6991/impatient.nvim") -- speedup startup -Plug("goolord/alpha-nvim") -- dashboard -Plug("lervag/vimtex") -- latex plugin -Plug("weilbith/nvim-code-action-menu") -- code action menu -Plug("rafamadriz/friendly-snippets") -- some provided snippets -Plug("p00f/nvim-ts-rainbow") -- colors brackets -Plug("nvim-telescope/telescope.nvim") -- file/text search -Plug("nvim-telescope/telescope-ui-select.nvim") -- telescope ui -Plug("nvim-telescope/telescope-file-browser.nvim") -- telescope file browser -Plug("nvim-telescope/telescope-fzy-native.nvim") -- telescope fuzzy search -Plug('nvim-telescope/telescope-project.nvim') -- telescope projects -Plug('nvim-telescope/telescope-symbols.nvim') -- symbol picker -Plug('nvim-telescope/telescope-file-browser.nvim') -- telescope file browser -Plug('nvim-telescope/telescope-dap.nvim') -- dap UI for telescope -Plug('benfowler/telescope-luasnip.nvim') -- telescope luasnip integration -Plug('jvgrootveld/telescope-zoxide') -- zoxide integration -Plug('sudormrfbin/cheatsheet.nvim') -- cheatsheet for keymaps -Plug('ThePrimeagen/harpoon') -- harpoonman -Plug 'folke/trouble.nvim' -- provides warning/error explanation tab -Plug('akinsho/toggleterm.nvim',{ ["tag"] = "*" }) -- better terminal integration -Plug("iamcco/markdown-preview.nvim", -- markdown preview -{ ["do"] = "cd app && yarn install" }) -Plug('p00f/clangd_extensions.nvim') -- clangd_extensions --- Plug('kdarkhan/rust-tools.nvim') -- rust extensions -Plug('simrat39/rust-tools.nvim') -Plug('lvimuser/lsp-inlayhints.nvim') -- inlay hints -Plug('preservim/tagbar') -- tags on the right -Plug('ggandor/leap.nvim') -- special movement -Plug('brenoprata10/nvim-highlight-colors') -- colors -Plug('gpanders/editorconfig.nvim') -- editorconfig -vim.call("plug#end") - diff --git a/nvim/lua/settings/project.lua b/nvim/lua/settings/project.lua deleted file mode 100644 index 88ec927..0000000 --- a/nvim/lua/settings/project.lua +++ /dev/null @@ -1,25 +0,0 @@ -local tele_status_ok, telescope = pcall(require, "telescope") -if not tele_status_ok then - return -end - -telescope.load_extension("project") - -require('telescope').setup { - extensions = { - project = { - base_dirs = { - '~/dev/src', - { '~/dev/src2' }, - { '~/dev/src3', max_depth = 4 }, - { path = '~/dev/src4' }, - { path = '~/dev/src5', max_depth = 2 }, - }, - hidden_files = true, -- default: false - theme = "dropdown", - order_by = "asc", - search_by = "title", - sync_with_nvim_tree = true, -- default false - } - } -} diff --git a/nvim/lua/settings/rainbow.lua b/nvim/lua/settings/rainbow.lua deleted file mode 100644 index f875b69..0000000 --- a/nvim/lua/settings/rainbow.lua +++ /dev/null @@ -1,9 +0,0 @@ -require("nvim-treesitter.configs").setup { - highlight = { - }, - rainbow = { - enable = true, - extended_mode = true, - max_file_lines = nil, - } -} diff --git a/nvim/lua/settings/telescope.lua b/nvim/lua/settings/telescope.lua deleted file mode 100644 index 92a8492..0000000 --- a/nvim/lua/settings/telescope.lua +++ /dev/null @@ -1,34 +0,0 @@ -local t = require("telescope") -local z_utils = require("telescope._extensions.zoxide.utils") - --- Configure the extension -t.setup({ - extensions = { - zoxide = { - prompt_title = "[ Queries ]", - mappings = { - default = { - after_action = function(selection) - print("Update to (" .. selection.z_score .. ") " .. selection.path) - end - }, - [""] = { - before_action = function(selection) print("before C-s") end, - action = function(selection) - vim.cmd("edit " .. selection.path) - end - }, - [""] = { action = z_utils.create_basic_command("split") }, - }, - }, - }, -}) - --- Load the extension -t.load_extension('zoxide') - --- Add a mapping -require("telescope").load_extension("fzy_native") -require("telescope").load_extension "file_browser" -require('telescope').load_extension('dap') -require("telescope").load_extension('harpoon') diff --git a/nvim/lua/settings/treesitter.lua b/nvim/lua/settings/treesitter.lua deleted file mode 100644 index 260b608..0000000 --- a/nvim/lua/settings/treesitter.lua +++ /dev/null @@ -1,13 +0,0 @@ -local status_ok, _ = pcall(require, "nvim-treesitter.configs") -if not status_ok then - return -end - -require("nvim-treesitter.configs").setup({ - ensure_installed = "all", - ignore_install = { "markdown_inline" }, - highlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, -}) diff --git a/nvim/lua/settings/vimtex.lua b/nvim/lua/settings/vimtex.lua deleted file mode 100644 index e9b4628..0000000 --- a/nvim/lua/settings/vimtex.lua +++ /dev/null @@ -1,4 +0,0 @@ -vim.cmd("let g:vimtex_quickfix_mode=0") -vim.cmd("let g:vimtex_view_general_viewer = 'evince'") -vim.cmd("let g:vimtex_compiler_method = 'latexmk'") -vim.cmd("let g:vimtex_compiler_latexmk = {'options': ['-pdf', '-shell-escape', '-file-line-error', '--extra-mem-bot=10000000', '-synctex=1', '-interaction=nonstopmode',],}") diff --git a/nvim/stylua.toml b/nvim/stylua.toml new file mode 100644 index 0000000..5d6c50d --- /dev/null +++ b/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/qt5ct/colors/Dracula.conf b/qt5ct/colors/Dracula.conf new file mode 100644 index 0000000..93b37d5 --- /dev/null +++ b/qt5ct/colors/Dracula.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a +disabled_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a +inactive_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a diff --git a/qt5ct/colors/Gradience.conf b/qt5ct/colors/Gradience.conf new file mode 100644 index 0000000..9c04d1f --- /dev/null +++ b/qt5ct/colors/Gradience.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffc0caf5, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ffc0caf5, #ffc0caf5, #ffc0caf5, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ffc0caf5, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ffc0caf5, #ffc0caf5 +disabled_colors=#ff6d728d, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ff6d728d, #ff6d728d, #ff6d728d, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ff6d728d, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ff6d728d, #ff6d728d +inactive_colors=#ff6d728d, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ff6d728d, #ff6d728d, #ff6d728d, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ff6d728d, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ff6d728d, #ff6d728d diff --git a/qt5ct/colors/mocha (copy).conf b/qt5ct/colors/mocha (copy).conf new file mode 100644 index 0000000..b71eead --- /dev/null +++ b/qt5ct/colors/mocha (copy).conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffcdd6f4, #ff1a1b26, #ff2b2c3b, #ff9399b2, #ff45475a, #ff6c7086, #ffc0caf5, #ffc0caf5, #ffc0caf5, #ff1a1b26, #ff1a1b26, #ff7f849c, #ff2b2c3b, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +disabled_colors=#ffa6adc8, #ff1a1b26, #ff2b2c3b, #ff9399b2, #ff45475a, #ff6c7086, #ffc0caf5, #ffc0caf5, #ffc0caf5, #ff1a1b26, #ff1a1b26, #ff7f849c, #ff2b2c3b, #ff1a1b26, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +inactive_colors=#ffcdd6f4, #ff1a1b26, #ff2b2c3b, #ff9399b2, #ff45475a, #ff6c7086, #ffc0caf5, #ffc0caf5, #ffc0caf5, #ff1a1b26, #ff1a1b26, #ff7f849c, #ff2b2c3b, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c diff --git a/qt5ct/colors/mocha.conf b/qt5ct/colors/mocha.conf new file mode 100644 index 0000000..4bc0e2c --- /dev/null +++ b/qt5ct/colors/mocha.conf @@ -0,0 +1,5 @@ +[ColorScheme] +active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +disabled_colors=#ffa6adc8, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffa6adc8, #ffa6adc8, #ffa6adc8, #ff1e1e2e, #ff11111b, #ff7f849c, #ff89b4fa, #ff45475a, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ffa6adc8, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c + diff --git a/qt5ct/colors/tokyonight.conf b/qt5ct/colors/tokyonight.conf new file mode 100644 index 0000000..9c04d1f --- /dev/null +++ b/qt5ct/colors/tokyonight.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffc0caf5, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ffc0caf5, #ffc0caf5, #ffc0caf5, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ffc0caf5, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ffc0caf5, #ffc0caf5 +disabled_colors=#ff6d728d, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ff6d728d, #ff6d728d, #ff6d728d, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ff6d728d, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ff6d728d, #ff6d728d +inactive_colors=#ff6d728d, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ff6d728d, #ff6d728d, #ff6d728d, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ff6d728d, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ff6d728d, #ff6d728d diff --git a/qt5ct/qss/tab.qss b/qt5ct/qss/tab.qss new file mode 100644 index 0000000..ab3a216 --- /dev/null +++ b/qt5ct/qss/tab.qss @@ -0,0 +1,6 @@ +QTabBar::tab:selected { + color: palette(highlight); +} +QMenuBar, QMenu, QToolBar, QStatusBar, QFrame, QScrollBar { + border: none; +} \ No newline at end of file diff --git a/qt5ct/qt5ct.conf b/qt5ct/qt5ct.conf index e58a880..8ff023c 100644 --- a/qt5ct/qt5ct.conf +++ b/qt5ct/qt5ct.conf @@ -1,31 +1,37 @@ [Appearance] -color_scheme_path=/usr/share/qt5ct/colors/darker.conf +color_scheme_path=/home/dashie/.config/qt5ct/colors/tokyonight.conf custom_palette=true -icon_theme=Adwaita +icon_theme=breeze-dark standard_dialogs=default -style=Fusion +style=Breeze [Fonts] -fixed=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) -general=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +fixed="Noto Sans,12,-1,5,50,0,0,0,0,0" +general="Noto Sans,12,-1,5,50,0,0,0,0,0" [Interface] -activate_item_on_single_click=1 +activate_item_on_single_click=0 buttonbox_layout=3 cursor_flash_time=1000 dialog_buttons_have_icons=0 double_click_interval=400 -gui_effects=@Invalid() +gui_effects=General, AnimateMenu, AnimateCombo, AnimateTooltip, AnimateToolBox keyboard_scheme=4 menus_have_icons=true show_shortcuts_in_context_menus=true -stylesheets=@Invalid() +stylesheets=/home/dashie/.config/qt5ct/qss/tab.qss, /usr/share/qt5ct/qss/scrollbar-simple.qss, /usr/share/qt5ct/qss/sliders-simple.qss, /usr/share/qt5ct/qss/tooltip-simple.qss, /usr/share/qt5ct/qss/traynotification-simple.qss toolbutton_style=4 -underline_shortcut=1 +underline_shortcut=0 wheel_scroll_lines=3 +[PaletteEditor] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x2v\0\0\x2\x10) + +[QSSEditor] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\x82\0\0\x1\xf2\0\0\0\0\0\0\0\0\0\0\x2\x82\0\0\x1\xf2\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x2\x82\0\0\x1\xf2) + [SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\x14\0\0\x3K\0\0\x2\xbc\0\0\0\0\0\0\0\x14\0\0\x3K\0\0\x2\xc1\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\x14\0\0\x3K\0\0\x2\xbc) +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xea\0\0\x2\xd9\0\0\0\0\0\0\0\0\0\0\x4\xea\0\0\x2\xd9\0\0\0\x2\x2\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xea\0\0\x2\xd9) [Troubleshooting] force_raster_widgets=1 diff --git a/qt6ct/colors/Dracula.conf b/qt6ct/colors/Dracula.conf new file mode 100644 index 0000000..93b37d5 --- /dev/null +++ b/qt6ct/colors/Dracula.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a +disabled_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a +inactive_colors=#ffbd93f9, #ff424559, #ff484d6b, #ff6272a4, #ff44475a, #ff44475a, #ff6272a4, #ff44475a, #ffbd93f9, #ff282a36, #ff282a36, #ff44475a, #ff6272a4, #ffbd93f9, #ff8be9fd, #ff8be9fd, #ff44475a, #ff6272a4, #ff44475a, #fff8f8f2, #ff44475a diff --git a/qt6ct/colors/gg.conf b/qt6ct/colors/gg.conf new file mode 100644 index 0000000..f3a8882 --- /dev/null +++ b/qt6ct/colors/gg.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +disabled_colors=#ff1e1e2e, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ff1e1e2e, #ffcdd6f4, #ff1e1e2e, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c diff --git a/qt6ct/colors/mocha (copy).conf b/qt6ct/colors/mocha (copy).conf new file mode 100644 index 0000000..598d4a9 --- /dev/null +++ b/qt6ct/colors/mocha (copy).conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +disabled_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c diff --git a/qt6ct/colors/mocha.conf b/qt6ct/colors/mocha.conf new file mode 100644 index 0000000..598d4a9 --- /dev/null +++ b/qt6ct/colors/mocha.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +disabled_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c +inactive_colors=#ffcdd6f4, #ff1e1e2e, #ffa6adc8, #ff9399b2, #ff45475a, #ff6c7086, #ffcdd6f4, #ffcdd6f4, #ffcdd6f4, #ff1e1e2e, #ff181825, #ff7f849c, #ff89b4fa, #ff1e1e2e, #ff89b4fa, #fff38ba8, #ff1e1e2e, #ffcdd6f4, #ff11111b, #ffcdd6f4, #807f849c diff --git a/qt6ct/colors/toykonight.conf b/qt6ct/colors/toykonight.conf new file mode 100644 index 0000000..9c04d1f --- /dev/null +++ b/qt6ct/colors/toykonight.conf @@ -0,0 +1,4 @@ +[ColorScheme] +active_colors=#ffc0caf5, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ffc0caf5, #ffc0caf5, #ffc0caf5, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ffc0caf5, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ffc0caf5, #ffc0caf5 +disabled_colors=#ff6d728d, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ff6d728d, #ff6d728d, #ff6d728d, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ff6d728d, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ff6d728d, #ff6d728d +inactive_colors=#ff6d728d, #ff1a1b26, #ff373949, #ff2b2c3b, #ff1a1b26, #ff2b2c3b, #ff6d728d, #ff6d728d, #ff6d728d, #ff1a1b26, #ff1a1b26, #19000000, #ff2b2c3b, #ff6d728d, #ff3584e4, #ff1b6acb, #ff1a1b26, #ff242530, #ff1a1b26, #ff6d728d, #ff6d728d diff --git a/qt6ct/qt6ct.conf b/qt6ct/qt6ct.conf index f60d64a..4f338f0 100644 --- a/qt6ct/qt6ct.conf +++ b/qt6ct/qt6ct.conf @@ -1,19 +1,18 @@ [Appearance] -color_scheme_path=/usr/share/qt6ct/colors/darker.conf +color_scheme_path=/home/dashie/.config/qt6ct/colors/toykonight.conf custom_palette=true -icon_theme=Adwaita standard_dialogs=default style=Adwaita-Dark [Fonts] -fixed=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) -general=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +fixed="DejaVu LGC Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" +general="DejaVu LGC Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1" [Interface] -activate_item_on_single_click=1 +activate_item_on_single_click=2 buttonbox_layout=3 cursor_flash_time=1000 -dialog_buttons_have_icons=1 +dialog_buttons_have_icons=0 double_click_interval=400 gui_effects=General, AnimateMenu, AnimateCombo, AnimateTooltip, AnimateToolBox keyboard_scheme=4 @@ -24,8 +23,11 @@ toolbutton_style=4 underline_shortcut=1 wheel_scroll_lines=3 +[PaletteEditor] +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\x30\0\0\x1\xf4\0\0\0\0\0\0\0\0\0\0\x2\x30\0\0\x1\xf4\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2\x30\0\0\x1\xf4) + [SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xea\0\0\x3\xbe\0\0\0\0\0\0\0\0\0\0\x4\xea\0\0\x3\xbe\0\0\0\x2\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xea\0\0\x3\xbe) +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x3#\0\0\x2\xe9\0\0\0\0\0\0\0\0\0\0\x3#\0\0\x2\xe9\0\0\0\x2\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x3#\0\0\x2\xe9) [Troubleshooting] force_raster_widgets=1 diff --git a/rofi/config.rasi b/rofi/config.rasi new file mode 100644 index 0000000..4d57f97 --- /dev/null +++ b/rofi/config.rasi @@ -0,0 +1,19 @@ +configuration { + matching: "prefix"; + show-icons: true; + icon-theme: "Papirus"; + sort: true; + sorting-method: "fzf"; + modes: "drun,window,calc,run,filebrowser"; + steal-focus: true; + drun-match-fields: "exec,name,categories,keywords,generic"; + hover-select: true; + window-thumbnail: true; + drun-use-desktop-cache: true; + application-fallback-icon: ""; + display-window: "Open Applications"; + display-drun: "Desktop Applications"; + display-run: "Terminal Applications"; + display-calc: "Calculator"; + display-filebrowser: "Filebrowser"; + } diff --git a/rofi/themes/tokyonight.rasi b/rofi/themes/tokyonight.rasi new file mode 100644 index 0000000..65c63fd --- /dev/null +++ b/rofi/themes/tokyonight.rasi @@ -0,0 +1,117 @@ +/* + * ROFI color theme + * + * Based on Something Found in the Internet + * + * User: Contributors + * Copyright: *! + */ + +configuration { + font: "Noto Sans 12"; + + drun { + display-name: ""; + } + + run { + display-name: ""; + } + + window { + display-name: ""; + hide-active-window: true; + } + + timeout { + delay: 10; + action: "kb-cancel"; + } +} + +* { + bg: #1a1b26FF; + bg-alt: #232433FF; + fg-alt-dim: #ffffff22; + fg: #6a6f87; + fg-alt: #a9b1d6; + width: 100%; + height: 100%; + border: 0; + margin: 0; + padding: 30% 40% 30% 40%; + spacing: 0; +} + +window { + /* transparency: "real"; */ + /* width: 700px; */ + background-color: @fg-alt-dim; +} + +mainbox { + border-radius: 15px; + padding: 0; + children: [inputbar, listview]; + background-color: @bg; +} + + + +inputbar { + padding: 0; + background-color: @bg-alt; + children: [prompt, entry]; + text-color: @fg; +} + +entry { + padding: 0; + background-color: inherit; + padding: 12px 3px; + background-color: @bg; + text-color: @fg; +} + +prompt { + padding: 0; + background-color: inherit; + padding: 12px; + background-color: @bg; + text-color: @fg; +} + +listview { + padding: 0; + lines: 8; + background-color: @bg; + text-color: @fg; +} + +element { + padding: 0; + children: [element-icon, element-text]; + background-color: @bg; +} + +element-icon { + padding: 0; + padding: 10px 10px; + size: 25px; + background-color: @bg; + text-color: @fg; +} + +element-text { + padding: 0; + padding: 10px 0; + background-color: @bg; + text-color: @fg; +} + +element-text selected { + padding: 0; + text-color: @fg-alt; + background-color: @bg-alt; +} + diff --git a/spotify-player/app.toml b/spotify-player/app.toml new file mode 100644 index 0000000..9edea94 --- /dev/null +++ b/spotify-player/app.toml @@ -0,0 +1,4 @@ +enable_media_control = true +[device] +volume = 100 +audio_cache = true