├── .config ├── bat │ └── themes │ │ └── Catppuccin-mocha.tmTheme ├── cava │ ├── .gitignore │ └── config ├── dunst │ ├── dunstrc │ └── icons │ │ ├── brightness-high.svg │ │ ├── brightness-low.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-medium.svg │ │ └── volume-mute.svg ├── fastfetch │ └── config.jsonc ├── hypr │ ├── configs │ │ ├── default_apps.conf │ │ ├── env.conf │ │ ├── inputs.conf │ │ ├── keybinds.conf │ │ ├── monitors.conf │ │ ├── settings.conf │ │ ├── startup_apps.conf │ │ └── window_rules.conf │ ├── hypridle.conf │ ├── hyprland.conf │ ├── hyprlock.conf │ ├── hyprpaper.conf │ ├── pyprland.toml │ └── scripts │ │ ├── brightness.sh │ │ ├── clip_manager.sh │ │ ├── fix_screen_share.sh │ │ ├── portal_hyprland.sh │ │ ├── refresh.sh │ │ ├── rofi_calculator.sh │ │ ├── rofi_emoji.sh │ │ └── volume.sh ├── kitty │ ├── current-theme.conf │ ├── kitty.conf │ ├── kitty.conf.bak │ └── themes │ │ └── oldworld.conf ├── lazygit │ ├── .gitignore │ └── config.yml ├── nvim │ ├── .gitignore │ ├── init.lua │ ├── lua │ │ ├── configs │ │ │ ├── blink.lua │ │ │ ├── bufferline.lua │ │ │ ├── conform.lua │ │ │ ├── lsp │ │ │ │ ├── init.lua │ │ │ │ ├── servers.lua │ │ │ │ └── settings.lua │ │ │ ├── lualine.lua │ │ │ ├── luasnip.lua │ │ │ ├── mason.lua │ │ │ ├── snacks │ │ │ │ ├── dashboard.lua │ │ │ │ └── init.lua │ │ │ └── treesitter.lua │ │ ├── core │ │ │ ├── autocmds.lua │ │ │ ├── icons.lua │ │ │ ├── init.lua │ │ │ ├── keymappings.lua │ │ │ ├── lazy.lua │ │ │ ├── lazyConfig.lua │ │ │ └── options.lua │ │ └── plugins │ │ │ ├── coding.lua │ │ │ ├── colorscheme.lua │ │ │ ├── editor.lua │ │ │ ├── linters_formatters.lua │ │ │ ├── lsp.lua │ │ │ ├── misc.lua │ │ │ ├── snacks.lua │ │ │ ├── treesitter.lua │ │ │ └── ui.lua │ └── snippets │ │ ├── django.json │ │ ├── htmldjango.json │ │ ├── javascript.json │ │ ├── javascriptreact.json │ │ ├── lua.json │ │ ├── markdown.json │ │ ├── package.json │ │ ├── python.json │ │ ├── rust.json │ │ └── sql.json ├── rofi │ ├── config.rasi │ ├── config_calculator.rasi │ ├── config_clipboard.rasi │ ├── config_emoji.rasi │ ├── master_config.rasi │ └── oldworld.rasi ├── starship.toml ├── waybar │ ├── config │ ├── oldworld.css │ └── style.css ├── zathura │ ├── oldworld │ └── zathurarc └── zsh │ ├── .zshrc │ └── configs │ ├── aliases.zsh │ ├── colors_catppuccin.zsh │ ├── colors_oldworld.zsh │ └── exports.zsh ├── README.md └── wallpapers └── pastel.jpg /.config/cava/.gitignore: -------------------------------------------------------------------------------- 1 | shaders 2 | -------------------------------------------------------------------------------- /.config/cava/config: -------------------------------------------------------------------------------- 1 | [color] 2 | gradient = 1 3 | 4 | gradient_color_1 = '#90b99f' 5 | gradient_color_2 = '#85b5ba' 6 | gradient_color_3 = '#92a2d5' 7 | gradient_color_4 = '#aca1cf' 8 | gradient_color_5 = '#e29eca' 9 | gradient_color_6 = '#ea83a5' 10 | gradient_color_7 = '#f5a191' 11 | gradient_color_8 = '#e6b99d' 12 | -------------------------------------------------------------------------------- /.config/dunst/dunstrc: -------------------------------------------------------------------------------- 1 | [global] 2 | monitor = 0 3 | follow = none 4 | width = 375 5 | height = 145 6 | origin = top-center 7 | alignment = "left" 8 | vertical_alignment = "center" 9 | ellipsize = "middle" 10 | offset = "15x15" 11 | padding = 15 12 | horizontal_padding = 15 13 | text_icon_padding = 15 14 | icon_position = "left" 15 | min_icon_size = 24 16 | max_icon_size = 26 17 | progress_bar = true 18 | progress_bar_height = 17 19 | progress_bar_frame_width = 1 20 | progress_bar_min_width = 150 21 | progress_bar_max_width = 400 22 | separator_height = 2 23 | frame_width = 2 24 | frame_color = "#3b3b3e" 25 | separator_color = "frame" 26 | corner_radius = 12 27 | transparency = 0 28 | gap_size = 8 29 | line_height = 0 30 | notification_limit = 0 31 | idle_threshold = 120 32 | history_length = 20 33 | show_age_threshold = 60 34 | markup = "full" 35 | font = "Maple Mono 12" 36 | word_wrap = "yes" 37 | sort = "yes" 38 | shrink = "no" 39 | indicate_hidden = "yes" 40 | sticky_history = "yes" 41 | ignore_newline = "no" 42 | show_indicators = "no" 43 | stack_duplicates = true 44 | always_run_script = true 45 | hide_duplicate_count = false 46 | ignore_dbusclose = false 47 | force_xwayland = false 48 | force_xinerama = false 49 | mouse_left_click = "do_action" 50 | mouse_middle_click = "close_all" 51 | mouse_right_click = "close_current" 52 | [experimental] 53 | per_monitor_dpi = false 54 | 55 | 56 | [urgency_low] 57 | background = "#131314" 58 | foreground = "#c9c7cd" 59 | highlight = "#92a2d5" 60 | timeout = 4 61 | 62 | [urgency_normal] 63 | background = "#131314" 64 | foreground = "#c9c7cd" 65 | highlight = "#cba6f7" 66 | timeout = 6 67 | 68 | [urgency_critical] 69 | background = "#131314" 70 | foreground = "#c9c7cd" 71 | highlight = "#cba6f7" 72 | timeout = 0 73 | -------------------------------------------------------------------------------- /.config/dunst/icons/brightness-high.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.config/dunst/icons/brightness-low.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.config/dunst/icons/volume-high.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ionicons-v5-g 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.config/dunst/icons/volume-low.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ionicons-v5-g 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.config/dunst/icons/volume-medium.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ionicons-v5-g 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.config/dunst/icons/volume-mute.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ionicons-v5-g 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.config/fastfetch/config.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", 3 | "display": { 4 | "separator": "", 5 | "key": { 6 | "width": 15 7 | } 8 | }, 9 | "modules": [ 10 | { 11 | "format": " ", 12 | "type": "custom" 13 | }, 14 | { 15 | "format": "\u001b[11D\u001b[34m ╭───────────╮", 16 | "type": "custom" 17 | }, 18 | { 19 | "key": "│ │\u001b[11D\u001b[32m󰇅 hname", 20 | "type": "title", 21 | "format": "{2}" 22 | }, 23 | { 24 | "key": "│ │\u001b[11D\u001b[33m󰅐 uptime", 25 | "type": "uptime" 26 | }, 27 | { 28 | "key": "│ │\u001b[11D\u001b[34m󰌽 distro", 29 | "type": "os" 30 | }, 31 | { 32 | "key": "│ │\u001b[11D\u001b[35m kernel", 33 | "type": "kernel" 34 | }, 35 | { 36 | "key": "│ │\u001b[11D\u001b[36m󰇄 desktop", 37 | "type": "wm" 38 | }, 39 | { 40 | "key": "│ │\u001b[11D\u001b[31m term", 41 | "type": "terminal" 42 | }, 43 | { 44 | "key": "│ │\u001b[11D\u001b[32m shell", 45 | "type": "shell" 46 | }, 47 | { 48 | "key": "│ │\u001b[11D\u001b[33m󰍛 cpu", 49 | "type": "cpu" 50 | }, 51 | { 52 | "key": "│ │\u001b[11D\u001b[34m󰉉 disk", 53 | "type": "disk", 54 | "folders": "/" 55 | }, 56 | { 57 | "key": "│ │\u001b[11D\u001b[35m memory", 58 | "type": "memory" 59 | }, 60 | { 61 | "key": "│ │\u001b[11D\u001b[36m packages", 62 | "type": "packages" 63 | }, 64 | { 65 | "key": "│ │\u001b[11D\u001b[31m host", 66 | "type": "host" 67 | }, 68 | { 69 | "key": "│ │\u001b[11D\u001b[32m󰹑 gpu", 70 | "type": "gpu" 71 | }, 72 | { 73 | "format": "\u001b[11D\u001b[34m ├───────────┤", 74 | "type": "custom" 75 | }, 76 | { 77 | "key": "│ │\u001b[11D\u001b[m color", 78 | "type": "colors", 79 | "symbol": "circle" 80 | }, 81 | { 82 | "format": "\u001b[11D\u001b[34m ╰───────────╯", 83 | "type": "custom" 84 | } 85 | ] 86 | } 87 | -------------------------------------------------------------------------------- /.config/hypr/configs/default_apps.conf: -------------------------------------------------------------------------------- 1 | $terminal = kitty 2 | $fileManager = thunar 3 | $menu = pkill rofi || rofi -show drun 4 | $browser = brave 5 | 6 | -------------------------------------------------------------------------------- /.config/hypr/configs/env.conf: -------------------------------------------------------------------------------- 1 | env = XCURSOR_SIZE,24 2 | env = HYPRCURSOR_SIZE,24 3 | 4 | env = CLUTTER_BACKEND,wayland 5 | env = GDK_BACKEND,wayland,x11 6 | env = QT_AUTO_SCREEN_SCALE_FACTOR,1 7 | env = QT_QPA_PLATFORM,wayland;xcb 8 | env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 9 | env = QT_QPA_PLATFORMTHEME,qt5ct 10 | env = XDG_CURRENT_DESKTOP,Hyprland 11 | env = XDG_SESSION_DESKTOP,Hyprland 12 | env = XDG_SESSION_TYPE,wayland 13 | 14 | env = ELECTRON_OZONE_PLATFORM_HINT,auto 15 | -------------------------------------------------------------------------------- /.config/hypr/configs/inputs.conf: -------------------------------------------------------------------------------- 1 | input { 2 | kb_layout = us 3 | kb_variant = altgr-intl 4 | kb_model = 5 | kb_options = lv3:switch 6 | kb_rules = 7 | follow_mouse = 1 8 | 9 | sensitivity = 0 10 | 11 | touchpad { 12 | natural_scroll = true 13 | } 14 | } 15 | 16 | gestures { 17 | workspace_swipe = true 18 | } 19 | 20 | device { 21 | name = epic-mouse-v1 22 | sensitivity = -0.5 23 | } 24 | -------------------------------------------------------------------------------- /.config/hypr/configs/keybinds.conf: -------------------------------------------------------------------------------- 1 | 2 | $scripts_dir = $HOME/.config/hypr/scripts 3 | $mainMod = SUPER 4 | 5 | # Execute apps 6 | bind = $mainMod, RETURN, exec, $terminal 7 | bind = $mainMod, K, exec, $browser 8 | bind = $mainMod, D, exec, $menu 9 | bind = $mainMod, T, exec, $fileManager 10 | bind = $mainMod ALT, V, exec, $scripts_dir/clip_manager.sh 11 | bind = $mainMod ALT, C, exec, $scripts_dir/rofi_calculator.sh 12 | bind = $mainMod ALT, E, exec, $scripts_dir/rofi_emoji.sh 13 | 14 | # Pyprland (Toggle term and zoom) 15 | bind = $mainMod SHIFT, Return, exec, pypr toggle term 16 | bind = $mainMod, Z, exec, pypr zoom 17 | 18 | bind = CTRL ALT, Delete, exec, hyprctl dispatch exit 0 19 | bind = $mainMod, Q, killactive, 20 | bind = $mainMod, M, exit, 21 | bind = $mainMod, F, fullscreen 22 | bind = $mainMod SHIFT, F, togglefloating, 23 | bind = $mainMod, P, pseudo, # dwindle 24 | bind = $mainMod, J, togglesplit, # dwindle 25 | 26 | # Move focus with mainMod + arrow keys 27 | bind = $mainMod, left, movefocus, l 28 | bind = $mainMod, right, movefocus, r 29 | bind = $mainMod, up, movefocus, u 30 | bind = $mainMod, down, movefocus, d 31 | 32 | # Resize windows 33 | binde = $mainMod ALT, left, resizeactive,-50 0 34 | binde = $mainMod ALT, right, resizeactive,50 0 35 | binde = $mainMod ALT, up, resizeactive,0 -50 36 | binde = $mainMod ALT, down, resizeactive,0 50 37 | 38 | # Move windows 39 | bind = $mainMod CTRL, left, movewindow, l 40 | bind = $mainMod CTRL, right, movewindow, r 41 | bind = $mainMod CTRL, up, movewindow, u 42 | bind = $mainMod CTRL, down, movewindow, d 43 | 44 | bind = $mainMod SHIFT, left, movecurrentworkspacetomonitor, l 45 | bind = $mainMod SHIFT, right, movecurrentworkspacetomonitor, r 46 | # Switch workspaces with mainMod + [0-9] 47 | bind = $mainMod, 1, workspace, 1 48 | bind = $mainMod, 2, workspace, 2 49 | bind = $mainMod, 3, workspace, 3 50 | bind = $mainMod, 4, workspace, 4 51 | bind = $mainMod, 5, workspace, 5 52 | bind = $mainMod, 6, workspace, 6 53 | bind = $mainMod, 7, workspace, 7 54 | bind = $mainMod, 8, workspace, 8 55 | bind = $mainMod, 9, workspace, 9 56 | bind = $mainMod, 0, workspace, 10 57 | 58 | 59 | # Move active window to a workspace with mainMod + SHIFT + [0-9] 60 | bind = $mainMod SHIFT, 1, movetoworkspace, 1 61 | bind = $mainMod SHIFT, 2, movetoworkspace, 2 62 | bind = $mainMod SHIFT, 3, movetoworkspace, 3 63 | bind = $mainMod SHIFT, 4, movetoworkspace, 4 64 | bind = $mainMod SHIFT, 5, movetoworkspace, 5 65 | bind = $mainMod SHIFT, 6, movetoworkspace, 6 66 | bind = $mainMod SHIFT, 7, movetoworkspace, 7 67 | bind = $mainMod SHIFT, 8, movetoworkspace, 8 68 | bind = $mainMod SHIFT, 9, movetoworkspace, 9 69 | bind = $mainMod SHIFT, 0, movetoworkspace, 10 70 | bind = $mainMod SHIFT, bracketleft, movetoworkspace, -1 71 | bind = $mainMod SHIFT, bracketright, movetoworkspace, +1 72 | 73 | # Example special workspace (scratchpad) 74 | bind = $mainMod, O, togglespecialworkspace, magic 75 | # bind = $mainMod SHIFT, S, movetoworkspace, special:magic 76 | 77 | # Scroll through existing workspaces with mainMod + scroll 78 | bind = $mainMod, mouse_down, workspace, e+1 79 | bind = $mainMod, mouse_up, workspace, e-1 80 | # Workspaces related 81 | bind = $mainMod, tab, workspace, m+1 82 | bind = $mainMod SHIFT, tab, workspace, m-1 83 | bindm = $mainMod, mouse:272, movewindow 84 | bindm = $mainMod, mouse:273, resizewindow 85 | 86 | # Brightness control 87 | bindel = , XF86MonBrightnessUp, exec, $scripts_dir/brightness.sh --inc 88 | bindel = , XF86MonBrightnessDown, exec, $scripts_dir/brightness.sh --dec 89 | 90 | # Volume control 91 | binde = , xf86audioraisevolume, exec, $scripts_dir/volume.sh --inc 92 | binde = , xf86audiolowervolume, exec, $scripts_dir/volume.sh --dec 93 | bindel = , XF86AudioMute, exec, $scripts_dir/volume.sh --toggle 94 | 95 | # Screenshots 96 | bind = $mainMod SHIFT, S, exec, hyprshot -m region --clipboard-only 97 | bind = $mainMod ALT, S, exec, hyprshot -m region -o ~/Pictures/screenshots/ 98 | bind = $mainMod, S, exec, hyprshot -m output -o ~/Pictures/screenshots/ 99 | 100 | bind = $mainMod ALT, R, exec, $scripts_dir/refresh.sh 101 | 102 | bind = $mainMod, N, exec, playerctl play-pause 103 | 104 | -------------------------------------------------------------------------------- /.config/hypr/configs/monitors.conf: -------------------------------------------------------------------------------- 1 | monitor=HDMI-A-2,preferred,1920x0,1 2 | monitor=eDP-1,preferred,auto,1 3 | -------------------------------------------------------------------------------- /.config/hypr/configs/settings.conf: -------------------------------------------------------------------------------- 1 | general { 2 | gaps_in = 6 3 | gaps_out = 10 4 | border_size = 2 5 | resize_on_border = true 6 | col.active_border = rgb(6c6874) 7 | col.inactive_border = rgb(3b3b3e) 8 | allow_tearing = false 9 | layout = dwindle 10 | } 11 | 12 | misc { 13 | disable_hyprland_logo = true 14 | disable_splash_rendering = true 15 | middle_click_paste = false 16 | } 17 | 18 | ecosystem { 19 | no_update_news = true 20 | } 21 | 22 | decoration { 23 | rounding = 10 24 | active_opacity = 1.0 25 | inactive_opacity = 1.0 26 | shadow { 27 | enabled = true 28 | color = rgba(1a1a1aee) 29 | } 30 | blur { 31 | enabled = true 32 | size = 3 33 | passes = 1 34 | vibrancy = 0.1696 35 | } 36 | } 37 | 38 | animations { 39 | enabled = true 40 | 41 | bezier = wind, 0.05, 0.9, 0.1, 1.05 42 | bezier = winIn, 0.1, 1.1, 0.1, 1.1 43 | bezier = winOut, 0.3, -0.3, 0, 1 44 | bezier = liner, 1, 1, 1, 1 45 | animation = windows, 1, 6, wind, slide 46 | animation = windowsIn, 1, 6, winIn, slide 47 | animation = windowsOut, 1, 5, winOut, slide 48 | animation = windowsMove, 1, 5, wind, slide 49 | animation = border, 1, 1, liner 50 | animation = borderangle, 1, 180, liner, loop 51 | animation = fade, 1, 10, default 52 | animation = workspaces, 1, 5, wind 53 | } 54 | 55 | dwindle { 56 | pseudotile = true 57 | preserve_split = true 58 | } 59 | 60 | # master { 61 | # new_is_master = true 62 | # } 63 | -------------------------------------------------------------------------------- /.config/hypr/configs/startup_apps.conf: -------------------------------------------------------------------------------- 1 | $scripts_dir = $HOME/.config/hypr/scripts 2 | 3 | exec-once = exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 4 | exec-once = hyprpaper 5 | exec-once = waybar & 6 | exec-once = hypridle & 7 | exec-once = wl-paste --type text --watch cliphist store 8 | exec-once = pypr & 9 | exec-once = dunst 10 | exec-once = $scripts_dir/portal_hyprland.sh 11 | exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 12 | exec-once = dbus-update-activation-environment --systemd --all 13 | exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 14 | -------------------------------------------------------------------------------- /.config/hypr/configs/window_rules.conf: -------------------------------------------------------------------------------- 1 | windowrulev2 = suppressevent maximize, class:.* 2 | 3 | # WINDOWRULE v2 4 | # windowrule v2 - position 5 | windowrulev2 = center, class:([Tt]hunar), title:(File Operation Progress) 6 | windowrulev2 = center, class:([Tt]hunar), title:(Confirm to replace files) 7 | windowrulev2 = center, title:^(ROG Control)$ 8 | windowrulev2 = center, title:^(Keybindings)$ 9 | windowrulev2 = move 72% 7%,title:^(Picture-in-Picture)$ 10 | windowrulev2 = move 72% 7%,title:is sharing your screen\.$ 11 | 12 | # windowrule v2 to avoid idle for fullscreen apps 13 | windowrulev2 = idleinhibit fullscreen, class:^(*)$ 14 | windowrulev2 = idleinhibit fullscreen, title:^(*)$ 15 | windowrulev2 = idleinhibit fullscreen, fullscreen:1 16 | 17 | windowrulev2 = float, class:(xdg-desktop-portal-gtk) 18 | windowrulev2 = float, class:([Tt]hunar), title:(File Operation Progress) 19 | windowrulev2 = float, class:([Tt]hunar), title:(Confirm to replace files) 20 | windowrulev2 = float, class:^(file-roller|org.gnome.FileRoller)$ 21 | windowrulev2 = float, class:^(nwg-look|qt6ct)$ 22 | windowrulev2 = float, title:(Kvantum Manager) 23 | windowrulev2 = float, class:^([Qq]alculate-gtk)$ 24 | 25 | # windowrule v2 - size 26 | windowrulev2 = size 70% 70%, class:^(xdg-desktop-portal-gtk)$ 27 | -------------------------------------------------------------------------------- /.config/hypr/hypridle.conf: -------------------------------------------------------------------------------- 1 | general { 2 | lock_cmd = pidof hyprlock || hyprlock 3 | before_sleep_cmd = loginctl lock-session 4 | after_sleep_cmd = hyprctl dispatch dpms on 5 | } 6 | 7 | listener { 8 | timeout = 3600 # 30min 9 | on-timeout = systemctl suspend # suspend pc 10 | } } 11 | -------------------------------------------------------------------------------- /.config/hypr/hyprland.conf: -------------------------------------------------------------------------------- 1 | $configs = $HOME/.config/hypr/configs 2 | 3 | source=$configs/startup_apps.conf 4 | source=$configs/settings.conf 5 | source=$configs/env.conf 6 | source=$configs/inputs.conf 7 | source=$configs/monitors.conf 8 | source=$configs/default_apps.conf 9 | source=$configs/keybinds.conf 10 | source=$configs/window_rules.conf 11 | 12 | -------------------------------------------------------------------------------- /.config/hypr/hyprlock.conf: -------------------------------------------------------------------------------- 1 | # BACKGROUND 2 | background { 3 | monitor = 4 | path = ~/wallpapers/pastel.jpg 5 | blur_passes = 3 6 | contrast = 0.8916 7 | brightness = 0.8172 8 | vibrancy = 0.1696 9 | vibrancy_darkness = 0.0 10 | } 11 | 12 | # GENERAL 13 | general { 14 | no_fade_in = false 15 | grace = 0 16 | disable_loading_bar = true 17 | } 18 | 19 | # INPUT FIELD 20 | input-field { 21 | monitor = 22 | size = 250, 60 23 | outline_thickness = 2 24 | dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8 25 | dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0 26 | dots_center = true 27 | outer_color = rgba(0, 0, 0, 0) 28 | inner_color = rgba(0, 0, 0, 0.5) 29 | font_color = rgb(c9c7cd) 30 | fade_on_empty = false 31 | placeholder_text = Input Password... 32 | hide_input = false 33 | position = 0, -120 34 | halign = center 35 | valign = center 36 | } 37 | 38 | # TIME 39 | label { 40 | monitor = 41 | text = cmd[update:1000] echo "$(date +"%-I:%M%p")" 42 | # color = $foreground 43 | color = rgb(c9c7cd) 44 | font_size = 120 45 | position = 0, -300 46 | halign = center 47 | valign = top 48 | } 49 | 50 | # USER 51 | label { 52 | monitor = 53 | text = Hi there, $USER 54 | color = rgba(255, 255, 255, 0.6) 55 | font_size = 25 56 | font_family = Maple Mono 57 | position = 0, -40 58 | halign = center 59 | valign = center 60 | } 61 | -------------------------------------------------------------------------------- /.config/hypr/hyprpaper.conf: -------------------------------------------------------------------------------- 1 | preload = ~/wallpapers/pastel.jpg 2 | 3 | wallpaper = , ~/wallpapers/pastel.jpg 4 | -------------------------------------------------------------------------------- /.config/hypr/pyprland.toml: -------------------------------------------------------------------------------- 1 | [pyprland] 2 | 3 | plugins = [ 4 | "scratchpads", 5 | "magnify", 6 | ] 7 | 8 | [scratchpads.term] 9 | animation = "fromTop" 10 | command = "kitty --class kitty-dropterm" 11 | class = "kitty-dropterm" 12 | size = "75% 60%" 13 | -------------------------------------------------------------------------------- /.config/hypr/scripts/brightness.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | icons_dir="$HOME/.config/dunst/icons/" 4 | 5 | # Get brightness 6 | get_backlight() { 7 | echo $(brightnessctl -m | cut -d, -f4) 8 | } 9 | 10 | # Get icons 11 | get_icon() { 12 | current=$(get_backlight | sed 's/%//') 13 | if [ "$current" -le "50" ]; then 14 | icon="$icons_dir/brightness-low.svg" 15 | else 16 | icon="$icons_dir/brightness-high.svg" 17 | fi 18 | } 19 | 20 | # Notify 21 | notify_user() { 22 | notify-send -e -h string:x-canonical-private-synchronous:brightness_notif -h int:value:$current -u low -i "$icon" "Brightness: $current%" 23 | } 24 | 25 | # Change brightness 26 | change_backlight() { 27 | brightnessctl set "$1" -n && get_icon && notify_user 28 | } 29 | 30 | # Execute accordingly 31 | case "$1" in 32 | "--get") 33 | get_backlight 34 | ;; 35 | "--inc") 36 | change_backlight "+10%" 37 | ;; 38 | "--dec") 39 | change_backlight "10%-" 40 | ;; 41 | *) 42 | get_backlight 43 | ;; 44 | esac 45 | -------------------------------------------------------------------------------- /.config/hypr/scripts/clip_manager.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while true; do 4 | result=$( 5 | rofi -i -dmenu \ 6 | -kb-custom-1 "Control-Delete" \ 7 | -kb-custom-2 "Alt-Delete" \ 8 | -config ~/.config/rofi/config_clipboard.rasi < <(cliphist list) 9 | ) 10 | 11 | case "$?" in 12 | 1) 13 | exit 14 | ;; 15 | 0) 16 | case "$result" in 17 | "") 18 | continue 19 | ;; 20 | *) 21 | cliphist decode <<<"$result" | wl-copy 22 | exit 23 | ;; 24 | esac 25 | ;; 26 | 10) 27 | cliphist delete <<<"$result" 28 | ;; 29 | 11) 30 | cliphist wipe 31 | ;; 32 | esac 33 | done 34 | -------------------------------------------------------------------------------- /.config/hypr/scripts/fix_screen_share.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | killall -e xdg-desktop-portal-hyprland 3 | killall -e xdg-desktop-portal 4 | 5 | systemctl restart --user pipewire.service 6 | sleep 1 7 | systemctl restart --user pipewire-pulse 8 | sleep 1 9 | /usr/lib/xdg-desktop-portal-hyprland &! 10 | sleep 2 11 | /usr/lib/xdg-desktop-portal &! 12 | -------------------------------------------------------------------------------- /.config/hypr/scripts/portal_hyprland.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | sleep 1 3 | killall xdg-desktop-portal-hyprland 4 | killall xdg-desktop-portal 5 | sleep 1 6 | /usr/lib/xdg-desktop-portal-hyprland & 7 | sleep 2 8 | /usr/lib/xdg-desktop-portal & 9 | -------------------------------------------------------------------------------- /.config/hypr/scripts/refresh.sh: -------------------------------------------------------------------------------- 1 | # Define file_exists function 2 | file_exists() { 3 | if [ -e "$1" ]; then 4 | return 0 # File exists 5 | else 6 | return 1 # File does not exist 7 | fi 8 | } 9 | 10 | # Kill already running processes 11 | _ps=(waybar rofi hyprpaper) 12 | for _prs in "${_ps[@]}"; do 13 | if pidof "${_prs}" >/dev/null; then 14 | pkill "${_prs}" 15 | fi 16 | done 17 | 18 | # Relaunch waybar 19 | waybar & 20 | 21 | hyprpaper 22 | 23 | exit 0 24 | -------------------------------------------------------------------------------- /.config/hypr/scripts/rofi_calculator.sh: -------------------------------------------------------------------------------- 1 | rofi_config="$HOME/.config/rofi/config_calculator.rasi" 2 | 3 | # Kill Rofi if already running before execution 4 | if pgrep -x "rofi" >/dev/null; then 5 | pkill rofi 6 | exit 0 7 | fi 8 | 9 | # main function 10 | 11 | while true; do 12 | result=$( 13 | rofi -i -dmenu \ 14 | -config "$rofi_config" \ 15 | -mesg "$result = $calc_result" 16 | ) 17 | 18 | if [ $? -ne 0 ]; then 19 | exit 20 | fi 21 | 22 | if [ -n "$result" ]; then 23 | calc_result=$(qalc -t "$result") 24 | echo "$calc_result" | wl-copy 25 | fi 26 | done 27 | -------------------------------------------------------------------------------- /.config/hypr/scripts/volume.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | icons_dir="$HOME/.config/dunst/icons/" 3 | 4 | get_volume() { 5 | volume=$(pamixer --get-volume) 6 | if [[ "$volume" -eq "0" ]]; then 7 | echo "Muted" 8 | else 9 | echo "$volume%" 10 | fi 11 | } 12 | 13 | get_icon() { 14 | current=$(get_volume) 15 | if [[ "$current" == "Muted" ]]; then 16 | echo "$icons_dir/volume-mute.svg" 17 | elif [[ "${current%\%}" -le 30 ]]; then 18 | echo "$icons_dir/volume-low.svg" 19 | elif [[ "${current%\%}" -le 60 ]]; then 20 | echo "$icons_dir/volume-medium.svg" 21 | else 22 | echo "$icons_dir/volume-high.svg" 23 | fi 24 | } 25 | 26 | notify_user() { 27 | if [[ "$(get_volume)" == "Muted" ]]; then 28 | notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: Muted" 29 | else 30 | notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)" 31 | fi 32 | } 33 | 34 | inc_volume() { 35 | if [ "$(pamixer --get-mute)" == "true" ]; then 36 | toggle_mute 37 | else 38 | pamixer -i 5 --allow-boost --set-limit 200 && notify_user 39 | fi 40 | } 41 | 42 | dec_volume() { 43 | if [ "$(pamixer --get-mute)" == "true" ]; then 44 | toggle_mute 45 | else 46 | pamixer -d 5 --allow-boost --set-limit 200 && notify_user 47 | fi 48 | } 49 | 50 | toggle_mute() { 51 | if [ "$(pamixer --get-mute)" == "false" ]; then 52 | pamixer -m && notify-send -e -u low -i "$icons_dir/volume-mute.svg" "Volume Switched OFF" 53 | elif [ "$(pamixer --get-mute)" == "true" ]; then 54 | pamixer -u && notify-send -e -u low -i "$(get_icon)" "Volume Switched ON" 55 | fi 56 | } 57 | 58 | if [[ "$1" == "--get" ]]; then 59 | get_volume 60 | elif [[ "$1" == "--inc" ]]; then 61 | inc_volume 62 | elif [[ "$1" == "--dec" ]]; then 63 | dec_volume 64 | elif [[ "$1" == "--toggle" ]]; then 65 | toggle_mute 66 | else 67 | get_volume 68 | fi 69 | -------------------------------------------------------------------------------- /.config/kitty/current-theme.conf: -------------------------------------------------------------------------------- 1 | 2 | tab_bar_background #161617 3 | tab_title_template "{fmt.fg._353539}{fmt.bg.default}{fmt.fg._c9c7cd}{fmt.bg._353539} {title.split()[0]} {fmt.fg._353539}{fmt.bg.default} " 4 | active_tab_title_template "{fmt.fg._aca1cf}{fmt.bg.default}{fmt.fg._161617}{fmt.bg._aca1cf} {title.split()[0]} {fmt.fg._aca1cf}{fmt.bg.default} " 5 | 6 | cursor #c9c7cd 7 | foreground #c9c7cd 8 | background #161617 9 | selection_foreground #c9c7cd 10 | selection_background #3C3B3E 11 | # Black 12 | color0 #27272a 13 | color8 #353539 14 | # Red 15 | color1 #ea83a5 16 | color9 #f591b2 17 | # Green 18 | color2 #90b99f 19 | color10 #9dc6ac 20 | # Yellow 21 | color3 #e6b99d 22 | color11 #f0c5a9 23 | # Blue 24 | color4 #92a2d5 25 | color12 #a6b6e9 26 | # Purple 27 | color5 #aca1cf 28 | color13 #b9aeda 29 | # Cyan 30 | color6 #85b5ba 31 | color14 #99c9ce 32 | # White 33 | color7 #c9c7cd 34 | color15 #d3d1d7 35 | 36 | active_tab_foreground #c9c7cd 37 | active_tab_background #353539 38 | inactive_tab_foreground #57575f 39 | inactive_tab_background #1b1b1d 40 | 41 | active_border_color #57575f 42 | inactive_border_color #2a2a2d 43 | -------------------------------------------------------------------------------- /.config/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | font_family Maple Mono Regular 2 | bold_font Maple Mono Bold 3 | italic_font Maple Mono Italic 4 | bold_italic_font Maple Mono Bold Italic 5 | font_features MapleMono-Regular +cv01 +ss02 +ss03 6 | font_features MapleMono-Italic +cv01 +ss02 +ss03 7 | font_features MapleMono-Bold +cv01 +ss02 +ss03 8 | font_features MapleMono-BoldItalic +cv01 +ss02 +ss03 9 | font_size 15 10 | 11 | symbol_map U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d4,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b1,U+e700-U+e7c5,U+f000-U+f2e0,U+f300-U+f372,U+f400-U+f532,U+f0001-U+f1af0 Symbols Nerd Font Mono 12 | 13 | window_padding_width 6 14 | 15 | enable_audio_bell no 16 | enabled_layouts tall:bias=50;full_size=1;mirrored=false 17 | confirm_os_window_close 0 18 | 19 | map kitty_mod+t new_tab_with_cwd 20 | map kitty_mod+enter new_window_with_cwd 21 | 22 | map kitty_mod+enter launch --cwd=current 23 | map kitty_mod+} next_window 24 | map kitty_mod+{ previous_window 25 | 26 | tab_bar_margin_width 9 27 | tab_bar_style separator 28 | tab_separator "" 29 | 30 | # BEGIN_KITTY_THEME 31 | # Oldworld 32 | include current-theme.conf 33 | # END_KITTY_THEME 34 | 35 | 36 | # BEGIN_KITTY_FONTS 37 | font_family family="Maple Mono" 38 | bold_font auto 39 | italic_font auto 40 | bold_italic_font auto 41 | # END_KITTY_FONTS 42 | -------------------------------------------------------------------------------- /.config/kitty/kitty.conf.bak: -------------------------------------------------------------------------------- 1 | font_family Maple Mono Regular 2 | bold_font Maple Mono Bold 3 | italic_font Maple Mono Italic 4 | bold_italic_font Maple Mono Bold Italic 5 | font_features MapleMono-Regular +cv01 +ss02 +ss03 6 | font_features MapleMono-Italic +cv01 +ss02 +ss03 7 | font_features MapleMono-Bold +cv01 +ss02 +ss03 8 | font_features MapleMono-BoldItalic +cv01 +ss02 +ss03 9 | font_size 15 10 | 11 | symbol_map U+e000-U+e00a,U+ea60-U+ebeb,U+e0a0-U+e0c8,U+e0ca,U+e0cc-U+e0d4,U+e200-U+e2a9,U+e300-U+e3e3,U+e5fa-U+e6b1,U+e700-U+e7c5,U+f000-U+f2e0,U+f300-U+f372,U+f400-U+f532,U+f0001-U+f1af0 Symbols Nerd Font Mono 12 | 13 | window_padding_width 6 14 | 15 | enable_audio_bell no 16 | enabled_layouts tall:bias=50;full_size=1;mirrored=false 17 | confirm_os_window_close 0 18 | 19 | map kitty_mod+t new_tab_with_cwd 20 | map kitty_mod+enter new_window_with_cwd 21 | 22 | map kitty_mod+enter launch --cwd=current 23 | map kitty_mod+} next_window 24 | map kitty_mod+{ previous_window 25 | 26 | tab_bar_margin_width 9 27 | tab_bar_style separator 28 | tab_separator "" 29 | 30 | # BEGIN_KITTY_THEME 31 | # Oldworld 32 | include current-theme.conf 33 | # END_KITTY_THEME 34 | -------------------------------------------------------------------------------- /.config/kitty/themes/oldworld.conf: -------------------------------------------------------------------------------- 1 | 2 | tab_bar_background #161617 3 | tab_title_template "{fmt.fg._353539}{fmt.bg.default}{fmt.fg._c9c7cd}{fmt.bg._353539} {title.split()[0]} {fmt.fg._353539}{fmt.bg.default} " 4 | active_tab_title_template "{fmt.fg._aca1cf}{fmt.bg.default}{fmt.fg._161617}{fmt.bg._aca1cf} {title.split()[0]} {fmt.fg._aca1cf}{fmt.bg.default} " 5 | 6 | cursor #c9c7cd 7 | foreground #c9c7cd 8 | background #161617 9 | selection_foreground #c9c7cd 10 | selection_background #3C3B3E 11 | # Black 12 | color0 #27272a 13 | color8 #353539 14 | # Red 15 | color1 #ea83a5 16 | color9 #ED96B3 17 | # Green 18 | color2 #90b99f 19 | color10 #a7c8b3 20 | # Yellow 21 | color3 #e6b99d 22 | color11 #eac5ae 23 | # Blue 24 | color4 #92a2d5 25 | color12 #a7b3dd 26 | # Purple 27 | color5 #aca1cf 28 | color13 #b7aed5 29 | # Cyan 30 | color6 #85b5ba 31 | color14 #97c0c4 32 | # White 33 | color7 #c9c7cd 34 | color15 #d3d1d7 35 | 36 | active_tab_foreground #c9c7cd 37 | active_tab_background #353539 38 | inactive_tab_foreground #57575f 39 | inactive_tab_background #1b1b1d 40 | 41 | active_border_color #57575f 42 | inactive_border_color #2a2a2d 43 | -------------------------------------------------------------------------------- /.config/lazygit/.gitignore: -------------------------------------------------------------------------------- 1 | state.yml 2 | -------------------------------------------------------------------------------- /.config/lazygit/config.yml: -------------------------------------------------------------------------------- 1 | gui: 2 | theme: 3 | activeBorderColor: 4 | - '#c9c7cd' 5 | - bold 6 | inactiveBorderColor: 7 | - '#9f9ca6' 8 | optionsTextColor: 9 | - '#aca1cf' 10 | selectedLineBgColor: 11 | - '#2a2a2c' 12 | cherryPickedCommitBgColor: 13 | - '#3b3b3e' 14 | cherryPickedCommitFgColor: 15 | - '#92a2d5' 16 | unstagedChangesColor: 17 | - '#ea83a5' 18 | searchingActiveBorderColor: 19 | - '#e6b99d' 20 | 21 | authorColors: 22 | '*': '#85b5ba' 23 | -------------------------------------------------------------------------------- /.config/nvim/.gitignore: -------------------------------------------------------------------------------- 1 | lazy-lock.json 2 | -------------------------------------------------------------------------------- /.config/nvim/init.lua: -------------------------------------------------------------------------------- 1 | require("core") 2 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/blink.lua: -------------------------------------------------------------------------------- 1 | require("blink.cmp").setup({ 2 | keymap = { 3 | preset = "enter", 4 | }, 5 | cmdline = { 6 | keymap = { 7 | preset = "none", 8 | }, 9 | }, 10 | completion = { 11 | menu = { 12 | border = "rounded", 13 | scrollbar = false, 14 | auto_show = function(ctx) 15 | return ctx.mode ~= "cmdline" 16 | end, 17 | }, 18 | documentation = { 19 | auto_show = true, 20 | window = { 21 | border = "rounded", 22 | }, 23 | }, 24 | }, 25 | 26 | appearance = { 27 | nerd_font_variant = "mono", 28 | }, 29 | snippets = { preset = "luasnip" }, 30 | sources = { 31 | default = { "lsp", "path", "snippets", "buffer" }, 32 | }, 33 | }) 34 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/bufferline.lua: -------------------------------------------------------------------------------- 1 | require("bufferline").setup({ 2 | options = { 3 | close_command = function(n) 4 | Snacks.bufdelete.delete() 5 | end, 6 | right_mouse_command = function(n) 7 | Snacks.bufdelete.delete() 8 | end, 9 | diagnostics = "nvim_lsp", 10 | always_show_bufferline = true, 11 | buffer_close_icon = "", 12 | modified_icon = "", 13 | close_icon = "", 14 | left_trunc_marker = "", 15 | right_trunc_marker = "", 16 | offsets = { 17 | { 18 | highlight = "Directory", 19 | text_align = "left", 20 | }, 21 | }, 22 | }, 23 | }) 24 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/conform.lua: -------------------------------------------------------------------------------- 1 | require("conform").setup({ 2 | default_format_opts = { 3 | timeout_ms = 3000, 4 | async = false, 5 | quiet = false, 6 | lsp_format = "fallback", 7 | }, 8 | format_on_save = { 9 | lsp_fallback = true, 10 | }, 11 | formatters_by_ft = { 12 | lua = { "stylua" }, 13 | python = { "ruff_format", "usort" }, 14 | json = { "biome" }, 15 | javascript = { "biome" }, 16 | javascriptreact = { "biome" }, 17 | typescript = { "biome" }, 18 | typescriptreact = { "biome" }, 19 | markdown = { "prettier" }, 20 | html = { "prettier" }, 21 | css = { "biome" }, 22 | rust = { "rustfmt" }, 23 | sh = { "shfmt" }, 24 | typst = { "typstyle" }, 25 | -- php = { "pint" }, 26 | -- sql = { "sql_formatter" }, 27 | }, 28 | }) 29 | 30 | require("conform.formatters.stylua").args = { 31 | "--indent-type", 32 | "Spaces", 33 | "--search-parent-directories", 34 | "--stdin-filepath", 35 | "$FILENAME", 36 | "-", 37 | } 38 | 39 | require("conform.formatters.prettier").args = { 40 | "--tab-width", 41 | "4", 42 | "--stdin-filepath", 43 | "$FILENAME", 44 | } 45 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/lsp/init.lua: -------------------------------------------------------------------------------- 1 | require("configs.lsp.settings") 2 | require("configs.lsp.servers") 3 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/lsp/servers.lua: -------------------------------------------------------------------------------- 1 | local lspconfig = require("lspconfig") 2 | 3 | local capabilities = require("blink.cmp").get_lsp_capabilities() 4 | capabilities.textDocument.foldingRange = { 5 | dynamicRegistration = false, 6 | lineFoldingOnly = true, 7 | } 8 | 9 | local function on_attach(client, bufnr) end 10 | 11 | lspconfig.lua_ls.setup({ 12 | capabilities = capabilities, 13 | on_attach = on_attach, 14 | settings = { 15 | Lua = { 16 | workspace = { 17 | checkThirdParty = false, 18 | }, 19 | completion = { 20 | callSnippet = "Replace", 21 | }, 22 | }, 23 | }, 24 | }) 25 | 26 | lspconfig.tinymist.setup({ 27 | on_attach = on_attach, 28 | capabilities = capabilities, 29 | offset_encoding = "utf-8", 30 | settings = { 31 | formatterMode = "typstyle", 32 | exportPdf = "onSave", 33 | }, 34 | }) 35 | 36 | lspconfig.jsonls.setup({ 37 | flags = { debounce_text_changes = 500 }, 38 | capabilities = capabilities, 39 | on_attach = on_attach, 40 | settings = { 41 | json = { 42 | schemas = { 43 | { 44 | fileMatch = { "package.json" }, 45 | url = "https://json.schemastore.org/package.json", 46 | }, 47 | { 48 | fileMatch = { "tsconfig*.json" }, 49 | url = "https://json.schemastore.org/tsconfig.json", 50 | }, 51 | { 52 | fileMatch = { 53 | ".prettierrc", 54 | ".prettierrc.json", 55 | "prettier.config.json", 56 | }, 57 | url = "https://json.schemastore.org/prettierrc.json", 58 | }, 59 | { 60 | fileMatch = { ".eslintrc", ".eslintrc.json" }, 61 | url = "https://json.schemastore.org/eslintrc.json", 62 | }, 63 | }, 64 | }, 65 | }, 66 | }) 67 | 68 | lspconfig.tailwindcss.setup({ 69 | capabilities = capabilities, 70 | on_attach = on_attach, 71 | filetypes = { "html", "javascriptreact", "typescriptreact", "astro", "svelte" }, 72 | }) 73 | 74 | lspconfig.basedpyright.setup({ 75 | capabilities = capabilities, 76 | on_attach = on_attach, 77 | settings = { 78 | basedpyright = { 79 | analysis = { 80 | autoSearchPaths = true, 81 | diagnosticMode = "openFilesOnly", 82 | useLibraryCodeForTypes = true, 83 | }, 84 | }, 85 | }, 86 | }) 87 | 88 | -- lspconfig.intelephense.setup({ 89 | -- capabilities = capabilities, 90 | -- on_attach = on_attach, 91 | -- settings = { 92 | -- intelephense = { 93 | -- stubs = { 94 | -- "apache", 95 | -- "bcmath", 96 | -- "bz2", 97 | -- "calendar", 98 | -- "com_dotnet", 99 | -- "Core", 100 | -- "ctype", 101 | -- "curl", 102 | -- "date", 103 | -- "dba", 104 | -- "dom", 105 | -- "enchant", 106 | -- "exif", 107 | -- "FFI", 108 | -- "fileinfo", 109 | -- "filter", 110 | -- "fpm", 111 | -- "ftp", 112 | -- "gd", 113 | -- "gettext", 114 | -- "gmp", 115 | -- "hash", 116 | -- "iconv", 117 | -- "imap", 118 | -- "intl", 119 | -- "json", 120 | -- "ldap", 121 | -- "libxml", 122 | -- "mbstring", 123 | -- "meta", 124 | -- "mysqli", 125 | -- "oci8", 126 | -- "odbc", 127 | -- "openssl", 128 | -- "pcntl", 129 | -- "pcre", 130 | -- "PDO", 131 | -- "pdo_ibm", 132 | -- "pdo_mysql", 133 | -- "pdo_pgsql", 134 | -- "pdo_sqlite", 135 | -- "pgsql", 136 | -- "Phar", 137 | -- "posix", 138 | -- "pspell", 139 | -- "readline", 140 | -- "Reflection", 141 | -- "session", 142 | -- "shmop", 143 | -- "SimpleXML", 144 | -- "snmp", 145 | -- "soap", 146 | -- "sockets", 147 | -- "sodium", 148 | -- "SPL", 149 | -- "sqlite3", 150 | -- "standard", 151 | -- "superglobals", 152 | -- "sysvmsg", 153 | -- "sysvsem", 154 | -- "sysvshm", 155 | -- "tidy", 156 | -- "tokenizer", 157 | -- "xml", 158 | -- "xmlreader", 159 | -- "xmlrpc", 160 | -- "xmlwriter", 161 | -- "xsl", 162 | -- "Zend OPcache", 163 | -- "zip", 164 | -- "zlib", 165 | -- "wordpress", 166 | -- "phpunit", 167 | -- }, 168 | -- diagnostics = { 169 | -- enable = true, 170 | -- }, 171 | -- format = { 172 | -- enable = false, 173 | -- }, 174 | -- }, 175 | -- }, 176 | -- }) 177 | 178 | for _, server in ipairs({ "bashls", "marksman", "biome", "cssls", "html", "astro" }) do 179 | lspconfig[server].setup({ 180 | on_attach = on_attach, 181 | capabilities = capabilities, 182 | }) 183 | end 184 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/lsp/settings.lua: -------------------------------------------------------------------------------- 1 | vim.diagnostic.config({ 2 | virtual_text = true, 3 | underline = true, 4 | severity_sort = true, 5 | }) 6 | 7 | local signs = { 8 | Error = " ", 9 | Warn = " ", 10 | Hint = " ", 11 | Info = " ", 12 | } 13 | 14 | for type, icon in pairs(signs) do 15 | local hl = "DiagnosticSign" .. type 16 | vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" }) 17 | end 18 | 19 | require("lspconfig.ui.windows").default_options.border = "single" 20 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/lualine.lua: -------------------------------------------------------------------------------- 1 | local function config_lualine(colors) 2 | local modecolor = { 3 | n = colors.red, 4 | i = colors.cyan, 5 | v = colors.purple, 6 | [""] = colors.purple, 7 | V = colors.red, 8 | c = colors.yellow, 9 | no = colors.red, 10 | s = colors.yellow, 11 | S = colors.yellow, 12 | [""] = colors.yellow, 13 | ic = colors.yellow, 14 | R = colors.green, 15 | Rv = colors.purple, 16 | cv = colors.red, 17 | ce = colors.red, 18 | r = colors.cyan, 19 | rm = colors.cyan, 20 | ["r?"] = colors.cyan, 21 | ["!"] = colors.red, 22 | t = colors.bright_red, 23 | } 24 | 25 | local theme = { 26 | normal = { 27 | a = { fg = colors.bg_dark, bg = colors.blue }, 28 | b = { fg = colors.blue, bg = colors.white }, 29 | c = { fg = colors.white, bg = colors.bg_dark }, 30 | z = { fg = colors.white, bg = colors.bg_dark }, 31 | }, 32 | insert = { a = { fg = colors.bg_dark, bg = colors.orange } }, 33 | visual = { a = { fg = colors.bg_dark, bg = colors.green } }, 34 | replace = { a = { fg = colors.bg_dark, bg = colors.green } }, 35 | } 36 | 37 | local space = { 38 | function() 39 | return " " 40 | end, 41 | color = { bg = colors.bg_dark, fg = colors.blue }, 42 | } 43 | 44 | local filename = { 45 | "filename", 46 | color = { bg = colors.blue, fg = colors.bg, gui = "bold" }, 47 | separator = { left = "", right = "" }, 48 | } 49 | 50 | local filetype = { 51 | "filetype", 52 | icons_enabled = false, 53 | color = { bg = colors.gray2, fg = colors.blue, gui = "italic,bold" }, 54 | separator = { left = "", right = "" }, 55 | } 56 | 57 | local branch = { 58 | "branch", 59 | icon = "", 60 | color = { bg = colors.green, fg = colors.bg, gui = "bold" }, 61 | separator = { left = "", right = "" }, 62 | } 63 | 64 | local location = { 65 | "location", 66 | color = { bg = colors.yellow, fg = colors.bg, gui = "bold" }, 67 | separator = { left = "", right = "" }, 68 | } 69 | 70 | local diff = { 71 | "diff", 72 | color = { bg = colors.gray2, fg = colors.bg, gui = "bold" }, 73 | separator = { left = "", right = "" }, 74 | symbols = { added = " ", modified = " ", removed = " " }, 75 | 76 | diff_color = { 77 | added = { fg = colors.green }, 78 | modified = { fg = colors.yellow }, 79 | removed = { fg = colors.red }, 80 | }, 81 | } 82 | 83 | local modes = { 84 | "mode", 85 | color = function() 86 | local mode_color = modecolor 87 | return { bg = mode_color[vim.fn.mode()], fg = colors.bg_dark, gui = "bold" } 88 | end, 89 | separator = { left = "", right = "" }, 90 | } 91 | 92 | local function getLspName() 93 | local bufnr = vim.api.nvim_get_current_buf() 94 | local buf_clients = vim.lsp.get_clients({ bufnr = bufnr }) 95 | local buf_ft = vim.bo.filetype 96 | if next(buf_clients) == nil then 97 | return " No servers" 98 | end 99 | local buf_client_names = {} 100 | 101 | for _, client in pairs(buf_clients) do 102 | if client.name ~= "null-ls" then 103 | table.insert(buf_client_names, client.name) 104 | end 105 | end 106 | 107 | local lint_s, lint = pcall(require, "lint") 108 | if lint_s then 109 | for ft_k, ft_v in pairs(lint.linters_by_ft) do 110 | if type(ft_v) == "table" then 111 | for _, linter in ipairs(ft_v) do 112 | if buf_ft == ft_k then 113 | table.insert(buf_client_names, linter) 114 | end 115 | end 116 | elseif type(ft_v) == "string" then 117 | if buf_ft == ft_k then 118 | table.insert(buf_client_names, ft_v) 119 | end 120 | end 121 | end 122 | end 123 | 124 | local ok, conform = pcall(require, "conform") 125 | local formatters = table.concat(conform.list_formatters_for_buffer(), " ") 126 | if ok then 127 | for formatter in formatters:gmatch("%w+") do 128 | if formatter then 129 | table.insert(buf_client_names, formatter) 130 | end 131 | end 132 | end 133 | 134 | local hash = {} 135 | local unique_client_names = {} 136 | 137 | for _, v in ipairs(buf_client_names) do 138 | if not hash[v] then 139 | unique_client_names[#unique_client_names + 1] = v 140 | hash[v] = true 141 | end 142 | end 143 | local language_servers = table.concat(unique_client_names, ", ") 144 | 145 | return " " .. language_servers 146 | end 147 | 148 | local macro = { 149 | require("noice").api.status.mode.get, 150 | cond = require("noice").api.status.mode.has, 151 | color = { fg = colors.red, bg = colors.bg_dark, gui = "italic,bold" }, 152 | } 153 | 154 | local dia = { 155 | "diagnostics", 156 | sources = { "nvim_diagnostic" }, 157 | symbols = { error = " ", warn = " ", info = " ", hint = " " }, 158 | diagnostics_color = { 159 | error = { fg = colors.red }, 160 | warn = { fg = colors.yellow }, 161 | info = { fg = colors.purple }, 162 | hint = { fg = colors.cyan }, 163 | }, 164 | color = { bg = colors.gray2, fg = colors.blue, gui = "bold" }, 165 | separator = { left = "" }, 166 | } 167 | 168 | local lsp = { 169 | function() 170 | return getLspName() 171 | end, 172 | separator = { left = "", right = "" }, 173 | color = { bg = colors.purple, fg = colors.bg, gui = "italic,bold" }, 174 | } 175 | 176 | require("lualine").setup({ 177 | options = { 178 | disabled_filetypes = { statusline = { "dashboard", "alpha", "ministarter", "snacks_dashboard" } }, 179 | icons_enabled = true, 180 | theme = theme, 181 | component_separators = { left = "", right = "" }, 182 | section_separators = { left = "", right = "" }, 183 | ignore_focus = {}, 184 | always_divide_middle = true, 185 | globalstatus = true, 186 | }, 187 | 188 | sections = { 189 | lualine_a = { 190 | modes, 191 | }, 192 | lualine_b = { 193 | space, 194 | }, 195 | lualine_c = { 196 | filename, 197 | filetype, 198 | space, 199 | branch, 200 | diff, 201 | space, 202 | location, 203 | }, 204 | lualine_x = { 205 | space, 206 | }, 207 | lualine_y = { macro, space }, 208 | lualine_z = { 209 | dia, 210 | lsp, 211 | }, 212 | }, 213 | inactive_sections = { 214 | lualine_a = {}, 215 | lualine_b = {}, 216 | lualine_c = { "filename" }, 217 | lualine_x = { "location" }, 218 | lualine_y = {}, 219 | lualine_z = {}, 220 | }, 221 | }) 222 | end 223 | 224 | local colors = require("oldworld.palette") 225 | config_lualine(colors) 226 | vim.o.laststatus = vim.g.lualine_laststatus 227 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/luasnip.lua: -------------------------------------------------------------------------------- 1 | local luasnip = require("luasnip") 2 | 3 | local options = { 4 | history = true, 5 | update_events = "InsertLeave", 6 | enable_autosnippets = true, 7 | region_check_events = "CursorHold,InsertLeave", 8 | delete_check_events = "TextChanged,InsertEnter", 9 | store_selection_keys = "", 10 | } 11 | 12 | luasnip.config.set_config(options) 13 | vim.api.nvim_create_autocmd("InsertLeave", { 14 | callback = function() 15 | if 16 | require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] 17 | and not require("luasnip").session.jump_active 18 | then 19 | require("luasnip").unlink_current() 20 | end 21 | end, 22 | }) 23 | 24 | require("luasnip.loaders.from_vscode").lazy_load({ paths = { "./snippets" } }) 25 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/mason.lua: -------------------------------------------------------------------------------- 1 | require("mason").setup({ 2 | registries = { 3 | "github:mason-org/mason-registry", 4 | }, 5 | ui = { 6 | icons = { 7 | package_pending = "󰥔 ", 8 | package_installed = " ", 9 | package_uninstalled = "󰅙 ", 10 | }, 11 | 12 | keymaps = { 13 | toggle_server_expand = "", 14 | install_server = "i", 15 | update_server = "u", 16 | check_server_version = "c", 17 | update_all_servers = "U", 18 | check_outdated_servers = "C", 19 | uninstall_server = "X", 20 | cancel_installation = "", 21 | }, 22 | }, 23 | max_concurrent_installers = 10, 24 | }) 25 | 26 | require("mason-lspconfig").setup() 27 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/snacks/dashboard.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | M.opts = { 4 | row = 5, 5 | preset = { 6 | pick = "snacks", 7 | keys = { 8 | { icon = " ", key = "f", desc = "Find File", action = ":lua Snacks.dashboard.pick('files')" }, 9 | { icon = " ", key = "w", desc = "Find Text", action = ":lua Snacks.dashboard.pick('live_grep')" }, 10 | { icon = " ", key = "n", desc = "New File", action = ":ene | startinsert" }, 11 | { icon = " ", key = "r", desc = "Recent Files", action = ":lua Snacks.dashboard.pick('oldfiles')" }, 12 | { 13 | icon = " ", 14 | key = "c", 15 | desc = "Config", 16 | action = ":lua Snacks.dashboard.pick('files', {cwd = vim.fn.stdpath('config')})", 17 | }, 18 | { icon = "󰒲 ", key = "l", desc = "Lazy", action = ":Lazy" }, 19 | { icon = " ", key = "q", desc = "Quit", action = ":qa" }, 20 | }, 21 | }, 22 | } 23 | 24 | return M 25 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/snacks/init.lua: -------------------------------------------------------------------------------- 1 | local dashboard = require("configs.snacks.dashboard") 2 | 3 | require("snacks").setup({ 4 | dashboard = dashboard.opts, 5 | bigfile = {}, 6 | bufdelete = {}, 7 | explorer = {}, 8 | indent = {}, 9 | input = {}, 10 | lazygit = { 11 | theme = { 12 | [241] = { fg = "Special" }, 13 | activeBorderColor = { fg = "MatchParen", bold = true }, 14 | cherryPickedCommitBgColor = { fg = "Identifier" }, 15 | cherryPickedCommitFgColor = { fg = "Function" }, 16 | defaultFgColor = { fg = "Normal" }, 17 | inactiveBorderColor = { fg = "LazyDimmed" }, 18 | optionsTextColor = { fg = "Function" }, 19 | searchingActiveBorderColor = { fg = "MatchParen", bold = true }, 20 | selectedLineBgColor = { bg = "Visual" }, -- set to `default` to have no background colour 21 | unstagedChangesColor = { fg = "DiagnosticError" }, 22 | }, 23 | }, 24 | notifier = {}, 25 | quickfile = { enabled = true }, 26 | picker = {}, 27 | zen = {}, 28 | }) 29 | -------------------------------------------------------------------------------- /.config/nvim/lua/configs/treesitter.lua: -------------------------------------------------------------------------------- 1 | require("nvim-treesitter.configs").setup({ 2 | ensure_installed = { 3 | "lua", 4 | "vim", 5 | "regex", 6 | "markdown", 7 | "markdown_inline", 8 | "json", 9 | "http", 10 | "python", 11 | "html", 12 | "html", 13 | "javascript", 14 | "typescript", 15 | "css", 16 | }, 17 | sync_install = true, 18 | auto_install = false, 19 | ignore_install = {}, 20 | modules = {}, 21 | indent = { 22 | enable = true, 23 | disable = { "python" }, 24 | }, 25 | highlight = { 26 | enable = true, 27 | additional_vim_regex_highlighting = false, 28 | }, 29 | incremental_selection = { 30 | enable = true, 31 | keymaps = { 32 | init_selection = "", 33 | node_incremental = "", 34 | scope_incremental = "", 35 | node_decremental = "", 36 | }, 37 | }, 38 | textobjects = { 39 | select = { 40 | enable = true, 41 | lookahead = true, 42 | 43 | keymaps = { 44 | ["af"] = "@function.outer", 45 | ["if"] = "@function.inner", 46 | ["ac"] = "@class.outer", 47 | ["ic"] = { query = "@class.inner", desc = "Select inner part of a class region" }, 48 | ["as"] = { query = "@scope", query_group = "locals", desc = "Select language scope" }, 49 | }, 50 | selection_modes = { 51 | ["@parameter.outer"] = "v", 52 | ["@function.outer"] = "V", 53 | ["@class.outer"] = "", 54 | }, 55 | include_surrounding_whitespace = true, 56 | }, 57 | }, 58 | }) 59 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/autocmds.lua: -------------------------------------------------------------------------------- 1 | local autocmd = vim.api.nvim_create_autocmd 2 | 3 | -- Keymaps para http 4 | autocmd("FileType", { 5 | pattern = "http", 6 | callback = function() 7 | vim.keymap.set("n", "a", "lua require('kulala').run()", { noremap = true, silent = true }) 8 | end, 9 | }) 10 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/icons.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | M.lspkind = { 4 | Namespace = "󰌗", 5 | Text = "󰉿", 6 | Method = "󰆧", 7 | Function = "󰆧", 8 | Constructor = "", 9 | Field = "󰜢", 10 | Variable = "󰀫", 11 | Class = "󰠱", 12 | Interface = "", 13 | Module = "", 14 | Property = "󰜢", 15 | Unit = "󰑭", 16 | Value = "󰎠", 17 | Enum = "", 18 | Keyword = "󰌋", 19 | Snippet = "", 20 | Color = "󰏘", 21 | File = "󰈚", 22 | Reference = "󰈇", 23 | Folder = "󰉋", 24 | EnumMember = "", 25 | Constant = "󰏿", 26 | Struct = "󰙅", 27 | Event = "", 28 | Operator = "󰆕", 29 | TypeParameter = "󰊄", 30 | Table = "", 31 | Object = "󰅩", 32 | Tag = "", 33 | Array = "[]", 34 | Boolean = "", 35 | Number = "", 36 | Null = "󰟢", 37 | String = "󰉿", 38 | Calendar = "", 39 | Watch = "󰥔", 40 | Package = "", 41 | Copilot = "", 42 | Codeium = "", 43 | TabNine = "", 44 | } 45 | 46 | M.devicons = { 47 | default_icon = { 48 | icon = "󰈚", 49 | name = "Default", 50 | }, 51 | 52 | c = { 53 | icon = "", 54 | name = "c", 55 | }, 56 | 57 | css = { 58 | icon = "", 59 | name = "css", 60 | }, 61 | 62 | deb = { 63 | icon = "", 64 | name = "deb", 65 | }, 66 | 67 | Dockerfile = { 68 | icon = "", 69 | name = "Dockerfile", 70 | }, 71 | 72 | html = { 73 | icon = "", 74 | name = "html", 75 | }, 76 | 77 | jpeg = { 78 | icon = "󰉏", 79 | name = "jpeg", 80 | }, 81 | 82 | jpg = { 83 | icon = "󰉏", 84 | name = "jpg", 85 | }, 86 | 87 | js = { 88 | icon = "󰌞", 89 | name = "js", 90 | }, 91 | 92 | kt = { 93 | icon = "󱈙", 94 | name = "kt", 95 | }, 96 | 97 | lock = { 98 | icon = "󰌾", 99 | name = "lock", 100 | }, 101 | 102 | lua = { 103 | icon = "", 104 | name = "lua", 105 | }, 106 | 107 | mp3 = { 108 | icon = "󰎆", 109 | name = "mp3", 110 | }, 111 | 112 | mp4 = { 113 | icon = "", 114 | name = "mp4", 115 | }, 116 | 117 | out = { 118 | icon = "", 119 | name = "out", 120 | }, 121 | 122 | png = { 123 | icon = "󰉏", 124 | name = "png", 125 | }, 126 | 127 | py = { 128 | icon = "", 129 | name = "py", 130 | }, 131 | 132 | ["robots.txt"] = { 133 | icon = "󰚩", 134 | name = "robots", 135 | }, 136 | 137 | toml = { 138 | icon = "", 139 | name = "toml", 140 | }, 141 | 142 | ts = { 143 | icon = "󰛦", 144 | name = "ts", 145 | }, 146 | 147 | ttf = { 148 | icon = "", 149 | name = "TrueTypeFont", 150 | }, 151 | 152 | rb = { 153 | icon = "", 154 | name = "rb", 155 | }, 156 | 157 | rpm = { 158 | icon = "", 159 | name = "rpm", 160 | }, 161 | 162 | vue = { 163 | icon = "󰡄", 164 | name = "vue", 165 | }, 166 | 167 | woff = { 168 | icon = "", 169 | name = "WebOpenFontFormat", 170 | }, 171 | 172 | woff2 = { 173 | icon = "", 174 | name = "WebOpenFontFormat2", 175 | }, 176 | 177 | xz = { 178 | icon = "", 179 | name = "xz", 180 | }, 181 | 182 | zip = { 183 | icon = "", 184 | name = "zip", 185 | }, 186 | } 187 | 188 | return M 189 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/init.lua: -------------------------------------------------------------------------------- 1 | local disable_providers = function() 2 | local default_providers = { 3 | "node", 4 | "perl", 5 | "python3", 6 | "ruby", 7 | } 8 | 9 | for _, provider in ipairs(default_providers) do 10 | vim.g["loaded_" .. provider .. "_provider"] = 0 11 | end 12 | end 13 | 14 | local add_filetype = function() 15 | vim.filetype.add({ 16 | extension = { 17 | http = "http", 18 | env = "dotenv", 19 | }, 20 | filename = { 21 | [".env"] = "dotenv", 22 | }, 23 | pattern = { 24 | ["%.env%.[%w_.-]+"] = "dotenv", 25 | }, 26 | }) 27 | vim.api.nvim_create_autocmd({ 28 | "BufNewFile", 29 | "BufRead", 30 | }, { 31 | pattern = "*.typ", 32 | callback = function() 33 | local buf = vim.api.nvim_get_current_buf() 34 | vim.api.nvim_buf_set_option(buf, "filetype", "typst") 35 | end, 36 | }) 37 | end 38 | 39 | local leader_map = function() 40 | vim.api.nvim_set_keymap("n", "", "", { noremap = true }) 41 | vim.api.nvim_set_keymap("x", "", "", { noremap = true }) 42 | vim.g.maplocalleader = " " 43 | vim.g.mapleader = " " 44 | end 45 | 46 | local load_core = function() 47 | disable_providers() 48 | leader_map() 49 | add_filetype() 50 | 51 | vim.cmd([[ let g:omni_sql_no_default_maps = 1 ]]) 52 | require("core.lazy") 53 | require("core.autocmds") 54 | require("core.options") 55 | require("core.keymappings") 56 | vim.cmd.colorscheme("oldworld") 57 | end 58 | 59 | load_core() 60 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/keymappings.lua: -------------------------------------------------------------------------------- 1 | local opts = { noremap = true, silent = true } 2 | 3 | local keymap = vim.keymap.set 4 | 5 | -- NORMAL MODE 6 | vim.api.nvim_set_keymap("n", "ZZ", "", opts) 7 | -- Redimensionar 8 | keymap("n", "", ":resize -2", opts) 9 | keymap("n", "", ":resize +2", opts) 10 | keymap("n", "", ":vertical resize -2", opts) 11 | keymap("n", "", ":vertical resize +2", opts) 12 | -- Moverse entre ventanas 13 | keymap("n", "", "h", opts) 14 | keymap("n", "", "j", opts) 15 | keymap("n", "", "k", opts) 16 | keymap("n", "", "l", opts) 17 | -- Diferentes formas de guardar y salir 18 | keymap("n", "w", ":w", opts) 19 | keymap("n", "q", ":q", opts) 20 | --Actualizar Plugins 21 | keymap("n", "l", ":Lazy", opts) 22 | -- Buscar y remplazar 23 | keymap("n", "r", ":%s/\\<\\>//gI", { noremap = true, silent = false }) 24 | -- Abrir ajustes nvim 25 | -- keymap("n", "n", ":e $MYVIMRC | :cd %:p:h ", opts) 26 | -- Scroll mas rapido 27 | keymap("n", "", "2", opts) 28 | keymap("n", "", "2", opts) 29 | -- Mover lineas arriba o abajo 30 | keymap("n", "", ":m .-2==", opts) 31 | keymap("n", "", ":m .+1==", opts) 32 | -- Moverse de forma normal en lineas largas con wrap 33 | keymap("n", "k", "(v:count == 0 ? 'gk' : 'k')", { silent = true, expr = true }) 34 | keymap("n", "j", "(v:count == 0 ? 'gj' : 'j')", { silent = true, expr = true }) 35 | keymap("n", "", "(v:count == 0 ? 'gj' : 'j')", { silent = true, expr = true }) 36 | keymap("n", "", "(v:count == 0 ? 'gk' : 'k')", { silent = true, expr = true }) 37 | -- Remover highlights 38 | keymap("n", "", "noh", opts) 39 | keymap("n", "bb", "e #", opts) 40 | 41 | -- MODO INSERTAR 42 | -- Eliminar la palabra de adelante 43 | keymap("i", "", "dw", opts) 44 | -- Eliminar el resto de linea 45 | keymap("i", "", "D", opts) 46 | -- Mover lineas arriba o abajo 47 | keymap("i", "", ":m .-2==gi", opts) 48 | keymap("i", "", ":m .+1==gi", opts) 49 | -- Mover al inicio de linea 50 | keymap("i", "", "^i", opts) 51 | -- Mover al final de la linea 52 | keymap("i", "", "", opts) 53 | 54 | keymap("i", "", "", opts) 55 | keymap("i", "", "", opts) 56 | keymap("i", "", "", opts) 57 | keymap("i", "", "", opts) 58 | 59 | -- MODO VISUAL 60 | -- Mejor indentacion 61 | keymap("v", "<", "", ">gv", opts) 63 | -- Mover lineas arriba o abajo 64 | keymap("x", "", ":m '<-2gv=gv", opts) 65 | keymap("x", "", ":m '>+1gv=gv", opts) 66 | -- J y K solo para moverse 67 | keymap("x", "J", "j", opts) 68 | keymap("x", "K", "k", opts) 69 | -- Moverse de forma normal en lineas largas con wrap 70 | keymap("v", "j", "(v:count == 0 ? 'gj' : 'j')", { silent = true, expr = true }) 71 | keymap("v", "k", "(v:count == 0 ? 'gk' : 'k')", { silent = true, expr = true }) 72 | keymap("v", "", "(v:count == 0 ? 'gj' : 'j')", { silent = true, expr = true }) 73 | keymap("v", "", "(v:count == 0 ? 'gk' : 'k')", { silent = true, expr = true }) 74 | keymap("v", "r", "y:%s/0//gI", { desc = "Search/replace visual" }) 75 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/lazy.lua: -------------------------------------------------------------------------------- 1 | local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" 2 | if not vim.loop.fs_stat(lazypath) then 3 | vim.fn.system({ 4 | "git", 5 | "clone", 6 | "--filter=blob:none", 7 | "https://github.com/folke/lazy.nvim.git", 8 | "--branch=stable", 9 | lazypath, 10 | }) 11 | end 12 | vim.opt.rtp:prepend(lazypath) 13 | 14 | local options = require("core.lazyConfig").opts 15 | 16 | require("lazy").setup("plugins", options) 17 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/lazyConfig.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | M.opts = { 4 | performance = { 5 | rtp = { 6 | disabled_plugins = { 7 | "gzip", 8 | "matchit", 9 | "matchparen", 10 | "netrwPlugin", 11 | "tarPlugin", 12 | "tohtml", 13 | "tutor", 14 | "zipPlugin", 15 | "2html_plugin", 16 | "getscript", 17 | "getscriptPlugin", 18 | "gzip", 19 | "logipat", 20 | "netrw", 21 | "netrwPlugin", 22 | "netrwSettings", 23 | "netrwFileHandlers", 24 | "matchit", 25 | "matchparen", 26 | "tar", 27 | "tarPlugin", 28 | "rrhelper", 29 | "spellfile", 30 | "vimball", 31 | "vimballPlugin", 32 | "zip", 33 | "zipPlugin", 34 | "tutor", 35 | "rplugin", 36 | "syntax", 37 | "synmenu", 38 | "optwin", 39 | "compiler", 40 | "bugreport", 41 | "ftplugin", 42 | "archlinux", 43 | "fzf", 44 | }, 45 | }, 46 | }, 47 | } 48 | 49 | return M 50 | -------------------------------------------------------------------------------- /.config/nvim/lua/core/options.lua: -------------------------------------------------------------------------------- 1 | local global_local = { 2 | backup = false, 3 | cmdheight = 0, 4 | clipboard = "unnamedplus", 5 | hidden = true, 6 | hlsearch = true, 7 | ignorecase = true, 8 | mouse = "a", 9 | pumheight = 10, 10 | showmode = false, 11 | showtabline = 2, 12 | smartcase = true, 13 | splitbelow = true, 14 | splitright = true, 15 | swapfile = false, 16 | termguicolors = true, 17 | timeoutlen = 400, 18 | undofile = true, 19 | updatetime = 100, 20 | writebackup = false, 21 | expandtab = true, 22 | shiftwidth = 4, 23 | tabstop = 4, 24 | cursorline = true, 25 | number = true, 26 | numberwidth = 4, 27 | signcolumn = "yes", 28 | wrap = true, 29 | scrolloff = 8, 30 | sidescrolloff = 8, 31 | showcmd = false, 32 | ruler = false, 33 | laststatus = 3, 34 | relativenumber = true, 35 | linebreak = true, 36 | } 37 | 38 | for name, value in pairs(global_local) do 39 | vim.o[name] = value 40 | end 41 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/coding.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "saghen/blink.cmp", 4 | event = "InsertEnter", 5 | version = "*", 6 | config = function() 7 | require("configs.blink") 8 | end, 9 | opts_extend = { "sources.default" }, 10 | }, 11 | 12 | { 13 | "chrisgrieser/nvim-various-textobjs", 14 | event = "BufReadPost", 15 | opts = { 16 | keymaps = { 17 | useDefaults = true, 18 | }, 19 | }, 20 | }, 21 | 22 | { 23 | "L3MON4D3/LuaSnip", 24 | event = "InsertEnter", 25 | config = function() 26 | require("configs.luasnip") 27 | end, 28 | }, 29 | 30 | { 31 | "gbprod/yanky.nvim", 32 | event = "BufReadPost", 33 | keys = { 34 | { "", "(YankyCycleForward)" }, 35 | { "", "(YankyCycleBackward)" }, 36 | { 37 | "p", 38 | function() 39 | require("telescope").extensions.yank_history.yank_history({}) 40 | end, 41 | desc = "Open Yank History", 42 | }, 43 | { "y", "(YankyYank)", mode = { "n", "x" }, desc = "Yank text" }, 44 | { "p", "(YankyPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after cursor" }, 45 | { "P", "(YankyPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before cursor" }, 46 | { "gp", "(YankyGPutAfter)", mode = { "n", "x" }, desc = "Put yanked text after selection" }, 47 | { "gP", "(YankyGPutBefore)", mode = { "n", "x" }, desc = "Put yanked text before selection" }, 48 | }, 49 | opts = { 50 | highlight = { 51 | timer = 150, 52 | }, 53 | }, 54 | }, 55 | 56 | { 57 | "echasnovski/mini.pairs", 58 | event = "BufReadPost", 59 | opts = { 60 | modes = { insert = true, command = true, terminal = false }, 61 | skip_next = [=[[%w%%%'%[%"%.%`%$]]=], 62 | skip_ts = { "string" }, 63 | skip_unbalanced = true, 64 | markdown = true, 65 | }, 66 | config = true, 67 | }, 68 | 69 | { 70 | "numToStr/Comment.nvim", 71 | keys = { "gc", { "gc", mode = "x" } }, 72 | config = true, 73 | }, 74 | 75 | { 76 | "kylechui/nvim-surround", 77 | version = "*", 78 | keys = { "cs", "ys", "ds" }, 79 | }, 80 | 81 | { 82 | "max397574/better-escape.nvim", 83 | event = "InsertEnter", 84 | opts = { 85 | k = function() 86 | vim.api.nvim_input("") 87 | local current_line = vim.api.nvim_get_current_line() 88 | if current_line:match("^%s+j$") then 89 | vim.schedule(function() 90 | vim.api.nvim_set_current_line("") 91 | end) 92 | end 93 | end, 94 | }, 95 | }, 96 | } 97 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/colorscheme.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | -- "dgox16/oldworld.nvim", 4 | dir = "~/Documents/projects_neovim/oldworld.nvim/", 5 | priority = 1000, 6 | opts = { 7 | styles = { 8 | booleans = { bold = true }, 9 | functions = { italic = true }, 10 | comments = { italic = true }, 11 | }, 12 | }, 13 | }, 14 | } 15 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/editor.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "echasnovski/mini.files", 4 | version = false, 5 | keys = { 6 | { "-", "lua require('mini.files').open(vim.api.nvim_buf_get_name(0))", { silent = true } }, 7 | }, 8 | }, 9 | { 10 | "nosduco/remote-sshfs.nvim", 11 | cmd = { "RemoteSSHFSConnect" }, 12 | opts = { 13 | ui = { 14 | confirm = { 15 | connect = false, 16 | }, 17 | }, 18 | }, 19 | }, 20 | { 21 | "folke/todo-comments.nvim", 22 | cmd = { "TodoTrouble" }, 23 | event = { "BufReadPost", "BufNewFile" }, 24 | config = true, 25 | keys = { 26 | { 27 | "st", 28 | function() 29 | Snacks.picker.todo_comments() 30 | end, 31 | desc = "Todo", 32 | }, 33 | }, 34 | }, 35 | 36 | { 37 | "folke/flash.nvim", 38 | opts = {}, 39 | -- stylua: ignore 40 | keys = { 41 | { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" }, 42 | { "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" }, 43 | { "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" }, 44 | { "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, 45 | { "", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" }, 46 | }, 47 | }, 48 | 49 | { 50 | "mistweaverco/kulala.nvim", 51 | opts = {}, 52 | ft = "http", 53 | }, 54 | 55 | { 56 | 57 | "folke/trouble.nvim", 58 | lazy = true, 59 | cmd = { "Trouble", "TroubleToggle", "TroubleRefresh" }, 60 | opts = { use_diagnostic_signs = true }, 61 | keys = { 62 | { "xx", "Trouble diagnostics toggle", desc = "Document Diagnostics (Trouble)" }, 63 | }, 64 | }, 65 | 66 | { 67 | "lewis6991/gitsigns.nvim", 68 | event = "BufReadPre", 69 | opts = { 70 | signs = { 71 | add = { text = "▎" }, 72 | change = { text = "▎" }, 73 | delete = { text = "" }, 74 | topdelete = { text = "" }, 75 | changedelete = { text = "▎" }, 76 | untracked = { text = "▎" }, 77 | }, 78 | diff_opts = { internal = true }, 79 | preview_config = { border = "rounded" }, 80 | }, 81 | }, 82 | } 83 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/linters_formatters.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "stevearc/conform.nvim", 4 | event = { "BufReadPre" }, 5 | config = function() 6 | require("configs.conform") 7 | end, 8 | }, 9 | 10 | { 11 | "mfussenegger/nvim-lint", 12 | event = "BufReadPre", 13 | config = function() 14 | require("lint").linters_by_ft = { 15 | python = { "ruff" }, 16 | } 17 | vim.api.nvim_create_autocmd({ "InsertLeave", "BufWritePost", "BufReadPost" }, { 18 | callback = function() 19 | local lint_status, lint = pcall(require, "lint") 20 | if lint_status then 21 | lint.try_lint() 22 | end 23 | end, 24 | }) 25 | end, 26 | }, 27 | } 28 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/lsp.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "neovim/nvim-lspconfig", 4 | event = "BufReadPre", 5 | dependencies = { 6 | { 7 | "williamboman/mason.nvim", 8 | config = function() 9 | require("configs.mason") 10 | end, 11 | }, 12 | "williamboman/mason-lspconfig.nvim", 13 | { "folke/neodev.nvim", config = true }, 14 | }, 15 | keys = { 16 | { "K", "lua vim.lsp.buf.hover()", { noremap = true, silent = true } }, 17 | { "c", "lua vim.lsp.buf.code_action()", { noremap = true, silent = true } }, 18 | { "g{", "lua vim.diagnostic.goto_prev()", { noremap = true, silent = true } }, 19 | { "g}", "lua vim.diagnostic.goto_next()", { noremap = true, silent = true } }, 20 | { "gl", "lua vim.diagnostic.open_float()", { noremap = true, silent = true } }, 21 | { "gd", "lua vim.lsp.buf.definition()", { noremap = true, silent = true } }, 22 | { "gD", "lua vim.lsp.buf.declaration()", { noremap = true, silent = true } }, 23 | { "gi", "lua vim.lsp.buf.implementation()", { noremap = true, silent = true } }, 24 | { "gr", "lua vim.lsp.buf.references()", { noremap = true, silent = true } }, 25 | }, 26 | config = function() 27 | require("configs.lsp") 28 | end, 29 | }, 30 | 31 | { 32 | "mrcjkb/rustaceanvim", 33 | version = "^4", 34 | lazy = false, 35 | config = function() 36 | vim.g.rustaceanvim = { 37 | server = { 38 | settings = { 39 | ["rust-analyzer"] = { 40 | inlayHints = { 41 | bindingModeHints = { 42 | enable = false, 43 | }, 44 | chainingHints = { 45 | enable = true, 46 | }, 47 | closingBraceHints = { 48 | enable = true, 49 | minLines = 25, 50 | }, 51 | closureReturnTypeHints = { 52 | enable = "never", 53 | }, 54 | lifetimeElisionHints = { 55 | enable = "never", 56 | useParameterNames = false, 57 | }, 58 | maxLength = 25, 59 | parameterHints = { 60 | enable = true, 61 | }, 62 | reborrowHints = { 63 | enable = "never", 64 | }, 65 | renderColons = true, 66 | typeHints = { 67 | enable = true, 68 | hideClosureInitialization = false, 69 | hideNamedConstructor = false, 70 | }, 71 | }, 72 | }, 73 | }, 74 | }, 75 | } 76 | end, 77 | }, 78 | 79 | { 80 | "pmizio/typescript-tools.nvim", 81 | event = "BufReadPre", 82 | 83 | dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, 84 | opts = { 85 | settings = { 86 | jsx_close_tag = { 87 | enable = true, 88 | filetypes = { "javascriptreact", "typescriptreact" }, 89 | }, 90 | tsserver_file_preferences = { 91 | includeInlayParameterNameHints = "all", 92 | includeInlayParameterNameHintsWhenArgumentMatchesName = false, 93 | includeInlayFunctionParameterTypeHints = true, 94 | includeInlayVariableTypeHints = true, 95 | includeInlayVariableTypeHintsWhenTypeMatchesName = false, 96 | includeInlayPropertyDeclarationTypeHints = true, 97 | includeInlayFunctionLikeReturnTypeHints = true, 98 | includeInlayEnumMemberValueHints = true, 99 | }, 100 | }, 101 | }, 102 | }, 103 | } 104 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/misc.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "nvim-lua/plenary.nvim", 4 | event = "VeryLazy", 5 | }, 6 | 7 | { 8 | "fladson/vim-kitty", 9 | ft = "kitty", 10 | }, 11 | 12 | { 13 | "lambdalisue/suda.vim", 14 | cmd = { "SudaRead", "SudaWrite" }, 15 | }, 16 | 17 | { 18 | "MeanderingProgrammer/render-markdown.nvim", 19 | dependencies = { "nvim-treesitter/nvim-treesitter", "echasnovski/mini.icons" }, -- if you use standalone mini plugins 20 | opts = {}, 21 | ft = "markdown", 22 | }, 23 | } 24 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/snacks.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "folke/snacks.nvim", 4 | lazy = false, 5 | priority = 1000, 6 | config = function() 7 | require("configs.snacks") 8 | end, 9 | keys = { 10 | -- Explorer 11 | { 12 | "e", 13 | function() 14 | Snacks.explorer() 15 | end, 16 | desc = "File Explorer", 17 | }, 18 | -- Bufdelete 19 | { 20 | "bd", 21 | function() 22 | Snacks.bufdelete() 23 | end, 24 | desc = "Delete Buffer", 25 | }, 26 | -- Zen 27 | { 28 | "z", 29 | function() 30 | Snacks.zen() 31 | end, 32 | desc = "Toggle Zen Mode", 33 | }, 34 | -- Lazygit 35 | { 36 | "gg", 37 | function() 38 | Snacks.lazygit() 39 | end, 40 | }, 41 | -- Picker 42 | { 43 | ",", 44 | function() 45 | Snacks.picker.buffers() 46 | end, 47 | desc = "Buffers", 48 | }, 49 | { 50 | "/", 51 | function() 52 | Snacks.picker.lines() 53 | end, 54 | desc = "Grep", 55 | }, 56 | { 57 | "", 58 | function() 59 | Snacks.picker.smart() 60 | end, 61 | desc = "Smart Find Files", 62 | }, 63 | { 64 | ":", 65 | function() 66 | Snacks.picker.command_history() 67 | end, 68 | desc = "Command History", 69 | }, 70 | 71 | { 72 | "ff", 73 | function() 74 | Snacks.picker.files() 75 | end, 76 | desc = "Find Files", 77 | }, 78 | 79 | { 80 | "fh", 81 | function() 82 | Snacks.picker.files({ hidden = true, ignored = true }) 83 | end, 84 | desc = "Find Files", 85 | }, 86 | 87 | { 88 | "fc", 89 | function() 90 | Snacks.picker.cliphist() 91 | end, 92 | }, 93 | { 94 | "fw", 95 | function() 96 | Snacks.picker.grep() 97 | end, 98 | desc = "Visual selection or word", 99 | mode = { "n", "x" }, 100 | }, 101 | { 102 | "gl", 103 | function() 104 | Snacks.picker.git_log() 105 | end, 106 | desc = "Git Log", 107 | }, 108 | }, 109 | }, 110 | } 111 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/treesitter.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | 4 | "nvim-treesitter/nvim-treesitter", 5 | dependencies = {}, 6 | config = function() 7 | require("configs.treesitter") 8 | end, 9 | build = ":TSUpdate", 10 | }, 11 | 12 | { "virchau13/tree-sitter-astro", ft = "astro" }, 13 | 14 | { 15 | "nvim-treesitter/nvim-treesitter-textobjects", 16 | event = { "BufReadPre", "BufNewFile" }, 17 | dependencies = { 18 | "nvim-treesitter/nvim-treesitter", 19 | }, 20 | }, 21 | { 22 | 23 | "windwp/nvim-ts-autotag", 24 | config = true, 25 | event = { "BufReadPre", "BufNewFile" }, 26 | dependencies = { 27 | "nvim-treesitter/nvim-treesitter", 28 | }, 29 | }, 30 | } 31 | -------------------------------------------------------------------------------- /.config/nvim/lua/plugins/ui.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { 3 | "hoob3rt/lualine.nvim", 4 | event = "VeryLazy", 5 | init = function() 6 | vim.g.lualine_laststatus = vim.o.laststatus 7 | if vim.fn.argc(-1) > 0 then 8 | vim.o.statusline = " " 9 | else 10 | vim.o.laststatus = 0 11 | end 12 | end, 13 | config = function() 14 | require("configs.lualine") 15 | end, 16 | }, 17 | 18 | { 19 | "akinsho/bufferline.nvim", 20 | event = "VeryLazy", 21 | keys = { 22 | { "bb", "BufferLinePick", { noremap = true, silent = true } }, 23 | { "bo", "BufferLineCloseOthers" }, 24 | { "br", "BufferLineCloseRight" }, 25 | { "bl", "BufferLineCloseLeft" }, 26 | { "", "BufferLineCyclePrev", { noremap = true, silent = true } }, 27 | { "", "BufferLineCycleNext", { noremap = true, silent = true } }, 28 | }, 29 | config = function() 30 | require("configs.bufferline") 31 | end, 32 | }, 33 | 34 | { 35 | "echasnovski/mini.icons", 36 | lazy = true, 37 | opts = { 38 | file = { 39 | [".keep"] = { glyph = "󰊢", hl = "MiniIconsGrey" }, 40 | ["devcontainer.json"] = { glyph = "", hl = "MiniIconsAzure" }, 41 | }, 42 | filetype = { 43 | dotenv = { glyph = "", hl = "MiniIconsYellow" }, 44 | }, 45 | }, 46 | init = function() 47 | package.preload["nvim-web-devicons"] = function() 48 | require("mini.icons").mock_nvim_web_devicons() 49 | return package.loaded["nvim-web-devicons"] 50 | end 51 | end, 52 | }, 53 | 54 | { 55 | "NvChad/nvim-colorizer.lua", 56 | event = "BufReadPost", 57 | opts = { 58 | user_default_options = { 59 | names = false, 60 | }, 61 | }, 62 | }, 63 | 64 | { "echasnovski/mini.cursorword", event = { "BufReadPost", "BufNewFile" }, config = true }, 65 | 66 | { 67 | "folke/noice.nvim", 68 | event = "VeryLazy", 69 | dependencies = { 70 | { "MunifTanjim/nui.nvim", lazy = true }, 71 | { 72 | "rcarriga/nvim-notify", 73 | lazy = true, 74 | event = "VeryLazy", 75 | keys = { 76 | { 77 | "un", 78 | function() 79 | require("notify").dismiss({ silent = true, pending = true }) 80 | end, 81 | desc = "Delete all Notifications", 82 | }, 83 | }, 84 | opts = { 85 | timeout = 3000, 86 | max_height = function() 87 | return math.floor(vim.o.lines * 0.75) 88 | end, 89 | max_width = function() 90 | return math.floor(vim.o.columns * 0.75) 91 | end, 92 | }, 93 | }, 94 | }, 95 | opts = { 96 | presets = { 97 | bottom_search = true, 98 | command_palette = true, 99 | long_message_to_split = true, 100 | inc_rename = false, 101 | lsp_doc_border = true, 102 | }, 103 | lsp = { 104 | progress = { 105 | enabled = true, 106 | format = "lsp_progress", 107 | format_done = "lsp_progress_done", 108 | throttle = 1000 / 30, 109 | view = "mini", 110 | }, 111 | override = { 112 | ["vim.lsp.util.convert_input_to_markdown_lines"] = true, 113 | ["vim.lsp.util.stylize_markdown"] = true, 114 | ["cmp.entry.get_documentation"] = true, 115 | }, 116 | }, 117 | }, 118 | }, 119 | } 120 | -------------------------------------------------------------------------------- /.config/nvim/snippets/htmldjango.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoescape": { 3 | "prefix": "autoescape", 4 | "body": "\r\n{% autoescape ${1:off} %}\r\n\t${2:$SELECTION}\r\n{% endautoescape %}\r\n", 5 | "description": "autoescape", 6 | "scope": "text.html.django" 7 | }, 8 | "block": { 9 | "prefix": "block", 10 | "body": "\r\n{% block ${1:blockname} %}\r\n\t${2:$SELECTION}\r\n{% endblock ${1:blockname} %}\r\n\t", 11 | "description": "block", 12 | "scope": "text.html.django" 13 | }, 14 | "blocktrans": { 15 | "prefix": "blocktrans", 16 | "body": "\r\n{% blocktrans %}\r\n\t${1:$SELECTION}\r\n{% endblocktrans %}\r\n", 17 | "description": "blocktrans", 18 | "scope": "text.html.django" 19 | }, 20 | "comment": { 21 | "prefix": "comment", 22 | "body": "\r\n{% comment %}\r\n\t${1:$SELECTION}\r\n{% endcomment %}\r\n\t", 23 | "description": "comment", 24 | "scope": "text.html.django" 25 | }, 26 | "var": { 27 | "prefix": "var", 28 | "body": "{{ ${1:$SELECTION} }}", 29 | "description": "context variable (var)", 30 | "scope": "text.html.django" 31 | }, 32 | "csrf": { 33 | "prefix": "csrf", 34 | "body": "{% csrf_token %}", 35 | "description": "csrf_token", 36 | "scope": "text.html.django" 37 | }, 38 | "cycle": { 39 | "prefix": "cycle", 40 | "body": "{% cycle $1 %}", 41 | "description": "cycle", 42 | "scope": "text.html.django" 43 | }, 44 | "debug": { 45 | "prefix": "debug", 46 | "body": "{% debug %}", 47 | "description": "debug", 48 | "scope": "text.html.django" 49 | }, 50 | "elif": { 51 | "prefix": "elif", 52 | "body": "{% elif %}", 53 | "description": "elif", 54 | "scope": "text.html.django" 55 | }, 56 | "else": { 57 | "prefix": "else", 58 | "body": "{% else %}", 59 | "description": "else", 60 | "scope": "text.html.django" 61 | }, 62 | "ext": { 63 | "prefix": "ext", 64 | "body": "{% extends '${1:$SELECTION}' %}", 65 | "description": "extends (ext)", 66 | "scope": "text.html.django" 67 | }, 68 | "extends": { 69 | "prefix": "extends", 70 | "body": "{% extends '${1:$SELECTION}' %}", 71 | "description": "extends", 72 | "scope": "text.html.django" 73 | }, 74 | "extrahead": { 75 | "prefix": "extrahead", 76 | "body": "\r\n{% block extrahead %}\r\n\t${1:$SELECTION}\r\n{% endblock extrahead %}\r\n\t", 77 | "description": "block extrahead", 78 | "scope": "text.html.django" 79 | }, 80 | "extrastyle": { 81 | "prefix": "extrastyle", 82 | "body": "\r\n{% block extrastyle %}\r\n\t${1:$SELECTION}\r\n{% endblock extrastyle %}\r\n\t", 83 | "description": "block extrastyle", 84 | "scope": "text.html.django" 85 | }, 86 | "filter": { 87 | "prefix": "filter", 88 | "body": "\r\n{% filter $1 %}\r\n\t${2:$SELECTION}\r\n{% endfilter %}\r\n", 89 | "description": "filter", 90 | "scope": "text.html.django" 91 | }, 92 | "firstof": { 93 | "prefix": "firstof", 94 | "body": "{% firstof $1 %}", 95 | "description": "firstof", 96 | "scope": "text.html.django" 97 | }, 98 | "for": { 99 | "prefix": "for", 100 | "body": "\r\n{% for $1 in $2 %}\r\n\t${3:$SELECTION}\r\n{% endfor %}\r\n\t", 101 | "description": "for", 102 | "scope": "text.html.django" 103 | }, 104 | "fore": { 105 | "prefix": "fore", 106 | "body": "\r\n{% for $1 in $2 %}\r\n\t$3\r\n{% empty %}\r\n\t$4\r\n{% endfor %}\r\n\t", 107 | "description": "for... empty...", 108 | "scope": "text.html.django" 109 | }, 110 | "iblock": { 111 | "prefix": "iblock", 112 | "body": "{% block ${1:blockname} %}${2:$SELECTION}{% endblock ${1:blockname} %}", 113 | "description": "inline block", 114 | "scope": "text.html.django" 115 | }, 116 | "if": { 117 | "prefix": "if", 118 | "body": "\r\n{% if $1 %}\r\n\t${2:$SELECTION}\r\n{% endif %}\r\n\t", 119 | "description": "if", 120 | "scope": "text.html.django" 121 | }, 122 | "ifchanged": { 123 | "prefix": "ifchanged", 124 | "body": "\r\n{% ifchanged $1 %}\r\n\t${2:$SELECTION}\r\n{% endifchanged %}\r\n\t", 125 | "description": "ifchanged", 126 | "scope": "text.html.django" 127 | }, 128 | "ife": { 129 | "prefix": "ife", 130 | "body": "\r\n{% if $1 %}\r\n\t$2\r\n{% else %}\r\n\t$3\r\n{% endif %}\r\n\t", 131 | "description": "if... else...", 132 | "scope": "text.html.django" 133 | }, 134 | "ifelse": { 135 | "prefix": "ifelse", 136 | "body": "\r\n{% if $1 %}\r\n\t$2\r\n{% else %}\r\n\t$3\r\n{% endif %}\r\n\t", 137 | "description": "if... else...", 138 | "scope": "text.html.django" 139 | }, 140 | "ifeq": { 141 | "prefix": "ifeq", 142 | "body": "\r\n{% ifequal $1 $2 %}\r\n\t${3:$SELECTION}\r\n{% endifequal %}\r\n\t", 143 | "description": "ifequal (ifeq)", 144 | "scope": "text.html.django" 145 | }, 146 | "ifequal": { 147 | "prefix": "ifequal", 148 | "body": "\r\n{% ifequal $1 $2 %} \r\n\t${3:$SELECTION}\r\n{% endifequal %}\r\n\t", 149 | "description": "ifequal", 150 | "scope": "text.html.django" 151 | }, 152 | "ifnotequal": { 153 | "prefix": "ifnotequal", 154 | "body": "\r\n{% ifnotequal $1 $2 %}\r\n\t${3:$SELECTION}\r\n{% endifnotequal %}\r\n\t", 155 | "description": "ifnotequal", 156 | "scope": "text.html.django" 157 | }, 158 | "inc": { 159 | "prefix": "inc", 160 | "body": "{% include ${1:'$2'} %}", 161 | "description": "include (inc)", 162 | "scope": "text.html.django" 163 | }, 164 | "include": { 165 | "prefix": "include", 166 | "body": "{% include ${1:'$2'} %}", 167 | "description": "include", 168 | "scope": "text.html.django" 169 | }, 170 | "load": { 171 | "prefix": "load", 172 | "body": "{% load $1 %}", 173 | "description": "load", 174 | "scope": "text.html.django" 175 | }, 176 | "media": { 177 | "prefix": "media", 178 | "body": "{{ MEDIA_URL }} ", 179 | "description": "media", 180 | "scope": "text.html.django" 181 | }, 182 | "now": { 183 | "prefix": "now", 184 | "body": "{% now '$1' %}", 185 | "description": "now", 186 | "scope": "text.html.django" 187 | }, 188 | "regroup": { 189 | "prefix": "regroup", 190 | "body": "{% regroup $1 by $2 as $3 %}", 191 | "description": "regroup", 192 | "scope": "text.html.django" 193 | }, 194 | "spaceless": { 195 | "prefix": "spaceless", 196 | "body": "\r\n{% spaceless %}\r\n\t${1:$SELECTION}\r\n{% endspaceless %}\r\n\t", 197 | "description": "spaceless", 198 | "scope": "text.html.django" 199 | }, 200 | "ssi": { 201 | "prefix": "ssi", 202 | "body": "{% ssi $1 ${2:parsed} %}", 203 | "description": "ssi", 204 | "scope": "text.html.django" 205 | }, 206 | "static": { 207 | "prefix": "static", 208 | "body": "{% static '${1:$SELECTION}' %}", 209 | "description": "static", 210 | "scope": "text.html.django" 211 | }, 212 | "staticu": { 213 | "prefix": "staticu", 214 | "body": "{{ STATIC_URL }} ", 215 | "description": "static URL", 216 | "scope": "text.html.django" 217 | }, 218 | "super": { 219 | "prefix": "super", 220 | "body": "{{ block.super }}", 221 | "description": "block.super", 222 | "scope": "text.html.django" 223 | }, 224 | "tag": { 225 | "prefix": "tag", 226 | "body": "{% $1 %}", 227 | "description": "tag braces", 228 | "scope": "text.html.django" 229 | }, 230 | "templatetag": { 231 | "prefix": "templatetag", 232 | "body": "{% templatetag $1 %}", 233 | "description": "templatetag", 234 | "scope": "text.html.django" 235 | }, 236 | "trans": { 237 | "prefix": "trans", 238 | "body": "{% trans '${1:$SELECTION}' %}", 239 | "description": "trans", 240 | "scope": "text.html.django" 241 | }, 242 | "url": { 243 | "prefix": "url", 244 | "body": "{% url $1 %}", 245 | "description": "url", 246 | "scope": "text.html.django" 247 | }, 248 | "verbatim": { 249 | "prefix": "verbatim", 250 | "body": "\r\n{% verbatim %}\r\n\t${1:$SELECTION}\r\n{% endverbatim %}\r\n\t", 251 | "description": "verbatim", 252 | "scope": "text.html.django" 253 | }, 254 | "widthratio": { 255 | "prefix": "widthratio", 256 | "body": "{% widthratio ${1:this_value} ${2:max_value} ${3:100} %}", 257 | "description": "widthratio", 258 | "scope": "text.html.django" 259 | }, 260 | "with": { 261 | "prefix": "with", 262 | "body": "\r\n{% with $1 as $2 %}\r\n\t${3:$SELECTION}\r\n{% endwith %}\r\n\t", 263 | "description": "with", 264 | "scope": "text.html.django" 265 | } 266 | } 267 | -------------------------------------------------------------------------------- /.config/nvim/snippets/javascript.json: -------------------------------------------------------------------------------- 1 | { 2 | "addEventListener": { 3 | "prefix": "ae", 4 | "body": "${1:document}.addEventListener('${2:event}', ${3:ev} => {\n\t${0}\n})" 5 | }, 6 | "removeEventListener": { 7 | "prefix": "rel", 8 | "body": "${1:document}.removeEventListener('${2:event}', ${3:listener})" 9 | }, 10 | "getElementById": { 11 | "prefix": "gi", 12 | "body": "${1:document}.getElementById('${2:id}')" 13 | }, 14 | "getElementsByClassName": { 15 | "prefix": "gc", 16 | "body": "Array.from(${1:document}.getElementsByClassName('${2:class}'))" 17 | }, 18 | "getElementsByTagName": { 19 | "prefix": "gt", 20 | "body": "Array.from(${1:document}.getElementsByTagName('${2:tag}'))" 21 | }, 22 | "querySelector": { 23 | "prefix": "qs", 24 | "body": "${1:document}.querySelector('${2:selector}')" 25 | }, 26 | "querySelectorAll": { 27 | "prefix": "qsa", 28 | "body": "Array.from(${1:document}.querySelectorAll('${2:selector}'))" 29 | }, 30 | "createDocumentFragment": { 31 | "prefix": "cdf", 32 | "body": "${1:document}.createDocumentFragment(${2:elem})" 33 | }, 34 | "createElement": { 35 | "prefix": "cel", 36 | "body": "${1:document}.createElement(${2:elem})" 37 | }, 38 | "await Promise.all": { 39 | "prefix": "apa", 40 | "body": "await Promise.all(${1:value})" 41 | }, 42 | "await Promise.all with destructuring": { 43 | "prefix": "apad", 44 | "body": "const [${0}] = await Promise.all(${1:value})" 45 | }, 46 | "await Promise.all map": { 47 | "prefix": "apm", 48 | "body": "await Promise.all(${1:array}.map(async (${2:value}) => {\n\t${0}\n}))" 49 | }, 50 | "await sleep": { 51 | "prefix": "ast", 52 | "body": "await new Promise((r) => setTimeout(r, ${0}))" 53 | }, 54 | "Node callback": { 55 | "prefix": "cb", 56 | "body": "function (err, ${1:value}) {\n\tif (err) throw err\n\t${0}\n}" 57 | }, 58 | "process.env": { 59 | "prefix": "pe", 60 | "body": "process.env" 61 | }, 62 | "Promise.all": { 63 | "prefix": "pa", 64 | "body": "Promise.all(${1:value})" 65 | }, 66 | "Promise.resolve": { 67 | "prefix": "prs", 68 | "body": "Promise.resolve(${1:value})" 69 | }, 70 | "Promise.reject": { 71 | "prefix": "prj", 72 | "body": "Promise.reject(${1:value})" 73 | }, 74 | "Promise": { 75 | "prefix": "p", 76 | "body": "Promise" 77 | }, 78 | "new Promise": { 79 | "prefix": "np", 80 | "body": "new Promise((resolve, reject) => {\n\t${0}\n})" 81 | }, 82 | "Promise.then": { 83 | "prefix": "pt", 84 | "body": "${1:promise}.then((${2:value}) => {\n\t${0}\n})" 85 | }, 86 | "Promise.catch": { 87 | "prefix": "pc", 88 | "body": "${1:promise}.catch(error => {\n\t${0}\n})" 89 | }, 90 | "await": { 91 | "prefix": "a", 92 | "body": "await ${0}" 93 | }, 94 | "If Statement": { 95 | "prefix": "if", 96 | "body": ["if (${1:condition}) {", "\t$0", "}"], 97 | "description": "If Statement" 98 | }, 99 | "If-Else Statement": { 100 | "prefix": "ifelse", 101 | "body": ["if (${1:condition}) {", "\t$0", "} else {", "\t", "}"], 102 | "description": "If-Else Statement" 103 | }, 104 | "While Statement": { 105 | "prefix": "while", 106 | "body": ["while (${1:condition}) {", "\t$0", "}"], 107 | "description": "While Statement" 108 | }, 109 | "Do-While Statement": { 110 | "prefix": "dowhile", 111 | "body": ["do {", "\t$0", "} while (${1:condition});"], 112 | "description": "Do-While Statement" 113 | }, 114 | "try/catch": { 115 | "prefix": "tc", 116 | "body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n}" 117 | }, 118 | "Function Statement": { 119 | "prefix": "fun", 120 | "body": ["function ${1:name}(${2:params}) {", "\t$0", "}"], 121 | "description": "Function Statement" 122 | }, 123 | "console.log a variable": { 124 | "prefix": "cv", 125 | "body": "console.log('${1}:', ${1})" 126 | }, 127 | "Express GET": { 128 | "prefix": "eget", 129 | "body": ["router.get('${1:route}', ${2:unimplemented!})"] 130 | }, 131 | 132 | "Express POST": { 133 | "prefix": "epost", 134 | "body": ["router.post('${1:route}', ${2:unimplemented!})"] 135 | }, 136 | 137 | "Express DELETE": { 138 | "prefix": "edel", 139 | "body": ["router.delete('${1:route}', ${2:unimplemented!})"] 140 | }, 141 | 142 | "Express PUT": { 143 | "prefix": "eput", 144 | "body": ["router.put('${1:route}', ${2:unimplemented!})"] 145 | }, 146 | "consoleAssert": { 147 | "prefix": "cas", 148 | "body": ["console.assert(${1:first}, ${2:second})"], 149 | "description": "If the specified expression is false, the message is written to the console along with a stack trace" 150 | }, 151 | "consoleClear": { 152 | "prefix": "ccl", 153 | "body": ["console.clear()"], 154 | "description": "Clears the console" 155 | }, 156 | "consoleCount": { 157 | "prefix": "cco", 158 | "body": ["console.count(${1:first})"], 159 | "description": "Writes the the number of times that count() has been invoked at the same line and with the same label" 160 | }, 161 | "consoleDir": { 162 | "prefix": "cdi", 163 | "body": ["console.dir(${1:first})"], 164 | "description": "Prints a JavaScript representation of the specified object" 165 | }, 166 | "consoleError": { 167 | "prefix": "cer", 168 | "body": ["console.error(${1:first})"], 169 | "description": "Displays a message in the console and also includes a stack trace from where the method was called" 170 | }, 171 | "consoleGroup": { 172 | "prefix": "cgr", 173 | "body": ["console.group('${1:first}')"], 174 | "description": "Groups and indents all following output by an additional level, until console.groupEnd() is called." 175 | }, 176 | "consoleGroupEnd": { 177 | "prefix": "cge", 178 | "body": ["console.groupEnd()"], 179 | "description": "Closes out the corresponding console.group()." 180 | }, 181 | "consoleLog": { 182 | "prefix": "clg", 183 | "body": ["console.log(${1:first})"], 184 | "description": "Displays a message in the console" 185 | }, 186 | "consoleTrace": { 187 | "prefix": "ctr", 188 | "body": ["console.trace(${1:first})"], 189 | "description": "Prints a stack trace from the point where the method was called" 190 | }, 191 | "consoleLogObject": { 192 | "prefix": "clo", 193 | "body": ["console.log('${1:first}', ${1:first})"], 194 | "description": "Logs property with name." 195 | }, 196 | "consoleLogJson": { 197 | "prefix": "clj", 198 | "body": ["console.log('${1:first}', JSON.stringify(${1:first}, null, 2))"], 199 | "description": "Logs stringified JSON property with name." 200 | }, 201 | "consoleTime": { 202 | "prefix": "ctm", 203 | "body": ["console.time('${1:first}')"], 204 | "description": "Console time wrapper" 205 | }, 206 | "consoleTimeEnd": { 207 | "prefix": "cte", 208 | "body": ["console.timeEnd('${1:first}')"], 209 | "description": "Console time end wrapper" 210 | }, 211 | "consoleWarn": { 212 | "prefix": "cwa", 213 | "body": ["console.warn(${1:first})"], 214 | "description": "Displays a message in the console but also displays a yellow warning icon along with the logged message" 215 | }, 216 | "consoleInfo": { 217 | "prefix": "cin", 218 | "body": ["console.info(${1:first})"], 219 | "description": "Displays a message in the console but also displays a blue information icon along with the logged message" 220 | }, 221 | "consoleTable": { 222 | "prefix": "ctl", 223 | "body": ["console.table([${1:first}])"], 224 | "description": "Logs table to console" 225 | }, 226 | "importAs": { 227 | "prefix": "ima", 228 | "body": ["import { ${2:second} as ${3:third} } from '${1:first}'"] 229 | }, 230 | "importDestructing": { 231 | "prefix": "imd", 232 | "body": ["import { ${2:second} } from '${1:first}'"] 233 | }, 234 | "importEverything": { 235 | "prefix": "ime", 236 | "body": ["import * as ${2:second} from '${1:first}'"] 237 | }, 238 | "importNoModuleName": { 239 | "prefix": "imn", 240 | "body": ["import '${1:first}'"] 241 | }, 242 | "import": { 243 | "prefix": "imp", 244 | "body": ["import ${2:second} from '${1:first}'"] 245 | }, 246 | "destructingObject": { 247 | "prefix": "dob", 248 | "body": ["const {${2:second}} = ${1:first}"], 249 | "description": "Creates and assigns a local variable using object destructing" 250 | }, 251 | "destructingArray": { 252 | "prefix": "dar", 253 | "body": ["const [${2:second}] = ${1:first}"], 254 | "description": "Creates and assigns a local variable using array destructing" 255 | }, 256 | "forOf": { 257 | "prefix": "fof", 258 | "body": ["for(let ${1:first} of ${2:second}) {${3:third}}"], 259 | "description": "Iterating over property names of iterable objects" 260 | }, 261 | "forIn": { 262 | "prefix": "fin", 263 | "body": ["for(let ${1:first} in ${2:second}) {${3:third}}"], 264 | "description": "Iterating over property values of iterable objects" 265 | }, 266 | "try/catch/finally": { 267 | "prefix": "tcf", 268 | "body": "try {\n\t${0}\n} catch (${1:err}) {\n\t\n} finally {\n\t\n}" 269 | }, 270 | "anonymousFunction": { 271 | "prefix": "anfn", 272 | "body": ["(${1:first}) => { ${2:second} }"], 273 | "description": "Creates an anonymous function" 274 | }, 275 | "namedFunction": { 276 | "prefix": "nfn", 277 | "body": ["const ${1:first} = (${2:second}) => { ${3:third} }"], 278 | "description": "Creates a named function" 279 | }, 280 | "forEach": { 281 | "prefix": "fre", 282 | "body": ["${1:first}.forEach(${2:second} => {${3:third}})"], 283 | "description": "Creates a forEach statement" 284 | }, 285 | "map": { 286 | "prefix": "map", 287 | "body": "${1:iterable}.map((${2:item}) => {\n\t${0}\n})" 288 | }, 289 | "reduce": { 290 | "prefix": "reduce", 291 | "body": "${1:iterable}.reduce((${2:previous}, ${3:current}) => {\n\t${0}\n}${4:, initial})" 292 | }, 293 | "filter": { 294 | "prefix": "filter", 295 | "body": "${1:iterable}.filter((${2:item}) => {\n\t${0}\n})" 296 | }, 297 | "find": { 298 | "prefix": "find", 299 | "body": "${1:iterable}.find((${2:item}) => {\n\t${0}\n})" 300 | }, 301 | "every": { 302 | "prefix": "every", 303 | "body": "${1:iterable}.every((${2:item}) => {\n\t${0}\n})" 304 | }, 305 | "some": { 306 | "prefix": "some", 307 | "body": "${1:iterable}.some((${2:item}) => {\n\t${0}\n})" 308 | }, 309 | "appendChild": { 310 | "prefix": "heac", 311 | "body": "${1:el}.appendChild(${2:elem})" 312 | }, 313 | "removeChild": { 314 | "prefix": "herc", 315 | "body": "${1:el}.removeChild(${2:elem})" 316 | }, 317 | "exportDefault": { 318 | "prefix": "exp", 319 | "body": ["export default ${1:first}"] 320 | }, 321 | "exportDestructing": { 322 | "prefix": "exd", 323 | "body": ["export { ${2:second} } from '${1:first}'"] 324 | }, 325 | "exportAs": { 326 | "prefix": "exa", 327 | "body": ["export { ${2:second} as ${3:third} } from '${1:first}'"] 328 | }, 329 | "exportNamedFunction": { 330 | "prefix": "enf", 331 | "body": ["export const ${1:first} = (${2:second}) => {${3:third}}"], 332 | "description": "Export named function" 333 | }, 334 | "exportDefaultFunction": { 335 | "prefix": "edf", 336 | "body": ["export default (${1:first}) => {${2:second}}"], 337 | "description": "Export default function" 338 | }, 339 | "exportDefaultNamedFunction": { 340 | "prefix": "ednf", 341 | "body": ["export default function ${1:first}(${2:second}) {${3:third}}"], 342 | "description": "Export default named function" 343 | }, 344 | "method": { 345 | "prefix": "met", 346 | "body": ["${1:first} = (${2:second}) => {${3:third}}"], 347 | "description": "Creates a method inside a class" 348 | } 349 | } 350 | -------------------------------------------------------------------------------- /.config/nvim/snippets/javascriptreact.json: -------------------------------------------------------------------------------- 1 | { 2 | "exportType": { 3 | "body": ["export type ${1:first} = {${2:second}}"], 4 | "prefix": "exptp" 5 | }, 6 | "exportInterface": { 7 | "prefix": "expint", 8 | "body": ["export interface ${1:first} {${2:second}}"] 9 | }, 10 | "reactArrowFunctionComponent": { 11 | "prefix": "rafc", 12 | "body": [ 13 | "export const ${1:${TM_FILENAME_BASE}} = () => {", 14 | " return (", 15 | "
${1:first}
", 16 | " )", 17 | "}", 18 | "" 19 | ], 20 | "description": "Creates a React Arrow Function Component with ES7 module system" 21 | }, 22 | "reactArrowFunctionComponentWithPropTypes": { 23 | "prefix": "rafcp", 24 | "body": [ 25 | "import PropTypes from 'prop-types'", 26 | "", 27 | "const ${1:${TM_FILENAME_BASE}} = props => {", 28 | " return (", 29 | "
${1:first}
", 30 | " )", 31 | "}", 32 | "", 33 | "${1:${TM_FILENAME_BASE}}.propTypes = {}", 34 | "", 35 | "export default ${1:${TM_FILENAME_BASE}}" 36 | ], 37 | "description": "Creates a React Arrow Function Component with ES7 module system with PropTypes" 38 | }, 39 | "reactArrowFunctionExportComponent": { 40 | "prefix": "rafce", 41 | "body": [ 42 | "const ${1:${TM_FILENAME_BASE}} = () => {", 43 | " return (", 44 | "
${1:first}
", 45 | " )", 46 | "}", 47 | "", 48 | "export default ${1:${TM_FILENAME_BASE}}" 49 | ], 50 | "description": "Creates a React Arrow Function Component with ES7 module system" 51 | }, 52 | "reactClassComponent": { 53 | "prefix": "rcc", 54 | "body": [ 55 | "import { Component } from 'react'", 56 | "", 57 | "export default class ${1:${TM_FILENAME_BASE}} extends Component {", 58 | " render() {", 59 | " return (", 60 | "
${1:first}
", 61 | " )", 62 | " }", 63 | "}", 64 | "" 65 | ], 66 | "description": "Creates a React component class with ES7 module system" 67 | }, 68 | "reactClassComponentPropTypes": { 69 | "prefix": "rccp", 70 | "body": [ 71 | "import PropTypes from 'prop-types'", 72 | "import { Component } from 'react'", 73 | "", 74 | "export default class ${1:${TM_FILENAME_BASE}} extends Component {", 75 | " static propTypes = {${2:second}: ${3:third}}", 76 | "", 77 | " render() {", 78 | " return (", 79 | "
${1:first}
", 80 | " )", 81 | " }", 82 | "}", 83 | "" 84 | ], 85 | "description": "Creates a React component class with PropTypes and ES7 module system" 86 | }, 87 | "reactClassComponentRedux": { 88 | "prefix": "rcredux", 89 | "body": [ 90 | "import { Component } from 'react'", 91 | "import { connect } from 'react-redux'", 92 | "", 93 | "export class ${1:${TM_FILENAME_BASE}} extends Component {", 94 | " render() {", 95 | " return (", 96 | "
${1:first}
", 97 | " )", 98 | " }", 99 | "}", 100 | "", 101 | "const mapStateToProps = (state) => ({})", 102 | "", 103 | "const mapDispatchToProps = {}", 104 | "", 105 | "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" 106 | ], 107 | "description": "Creates a React component class with connected redux and ES7 module system" 108 | }, 109 | "reactClassComponentReduxPropTypes": { 110 | "prefix": "rcreduxp", 111 | "body": [ 112 | "import PropTypes from 'prop-types'", 113 | "import { Component } from 'react'", 114 | "import { connect } from 'react-redux'", 115 | "", 116 | "export class ${1:${TM_FILENAME_BASE}} extends Component {", 117 | " static propTypes = {", 118 | " ${2:second}: ${3:third}", 119 | " }", 120 | "", 121 | " render() {", 122 | " return (", 123 | "
${1:first}
", 124 | " )", 125 | " }", 126 | "}", 127 | "", 128 | "const mapStateToProps = (state) => ({})", 129 | "", 130 | "const mapDispatchToProps = {}", 131 | "", 132 | "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" 133 | ], 134 | "description": "Creates a React component class with PropTypes with connected redux and ES7 module system" 135 | }, 136 | "reactClassExportComponent": { 137 | "prefix": "rce", 138 | "body": [ 139 | "import { Component } from 'react'", 140 | "", 141 | "export class ${1:${TM_FILENAME_BASE}} extends Component {", 142 | " render() {", 143 | " return (", 144 | "
${1:first}
", 145 | " )", 146 | " }", 147 | "}", 148 | "", 149 | "export default ${1:${TM_FILENAME_BASE}}" 150 | ], 151 | "description": "Creates a React component class with ES7 module system" 152 | }, 153 | "reactClassExportComponentWithPropTypes": { 154 | "prefix": "rcep", 155 | "body": [ 156 | "import PropTypes from 'prop-types'", 157 | "import { Component } from 'react'", 158 | "", 159 | "export class ${1:${TM_FILENAME_BASE}} extends Component {", 160 | " static propTypes = {}", 161 | "", 162 | " render() {", 163 | " return (", 164 | "
${1:first}
", 165 | " )", 166 | " }", 167 | "}", 168 | "", 169 | "export default ${1:${TM_FILENAME_BASE}}" 170 | ], 171 | "description": "Creates a React component class with ES7 module system" 172 | }, 173 | "reactClassExportPureComponent": { 174 | "prefix": "rpce", 175 | "body": [ 176 | "import { PureComponent } from 'react'", 177 | "", 178 | "export class ${1:${TM_FILENAME_BASE}} extends PureComponent {", 179 | " render() {", 180 | " return (", 181 | "
${1:first}
", 182 | " )", 183 | " }", 184 | "}", 185 | "", 186 | "export default ${1:${TM_FILENAME_BASE}}" 187 | ], 188 | "description": "Creates a React pure component class with ES7 module system export" 189 | }, 190 | "reactClassPureComponent": { 191 | "prefix": "rpc", 192 | "body": [ 193 | "import { PureComponent } from 'react'", 194 | "", 195 | "export default class ${1:${TM_FILENAME_BASE}} extends PureComponent {", 196 | " render() {", 197 | " return (", 198 | "
${1:first}
", 199 | " )", 200 | " }", 201 | "}", 202 | "" 203 | ], 204 | "description": "Creates a React pure component class with ES7 module system" 205 | }, 206 | "reactClassPureComponentWithPropTypes": { 207 | "prefix": "rpcp", 208 | "body": [ 209 | "import PropTypes from 'prop-types'", 210 | "import { PureComponent } from 'react'", 211 | "", 212 | "export default class ${1:${TM_FILENAME_BASE}} extends PureComponent {", 213 | " static propTypes = {}", 214 | "", 215 | " render() {", 216 | " return (", 217 | "
${1:first}
", 218 | " )", 219 | " }", 220 | "}", 221 | "" 222 | ], 223 | "description": "Creates a React component class with ES7 module system" 224 | }, 225 | "reactFunctionMemoComponent": { 226 | "prefix": "rmc", 227 | "body": [ 228 | "import { memo } from 'react'", 229 | "", 230 | "const ${1:${TM_FILENAME_BASE}} = memo(() => {", 231 | " return (", 232 | "
${1:first}
", 233 | " )", 234 | "})", 235 | "", 236 | "export default ${1:${TM_FILENAME_BASE}}" 237 | ], 238 | "description": "Creates a React Memo Function Component with ES7 module system" 239 | }, 240 | "reactFunctionMemoComponentWithPropTypes": { 241 | "prefix": "rmcp", 242 | "body": [ 243 | "import PropTypes from 'prop-types'", 244 | "import { memo } from 'react'", 245 | "", 246 | "const ${1:${TM_FILENAME_BASE}} = memo((props) => {", 247 | " return (", 248 | "
${1:first}
", 249 | " )", 250 | "})", 251 | "", 252 | "${1:${TM_FILENAME_BASE}}.propTypes = {}", 253 | "", 254 | "export default ${1:${TM_FILENAME_BASE}}" 255 | ], 256 | "description": "Creates a React Memo Function Component with ES7 module system with PropTypes" 257 | }, 258 | "reactFunctionalComponent": { 259 | "prefix": "rfc", 260 | "body": [ 261 | "import React from 'react'", 262 | "", 263 | "export default function ${1:${TM_FILENAME_BASE}}() {", 264 | " return (", 265 | "
${1:first}
", 266 | " )", 267 | "}", 268 | "" 269 | ], 270 | "description": "Creates a React Functional Component with ES7 module system" 271 | }, 272 | "reactFunctionalComponentRedux": { 273 | "prefix": "rfcredux", 274 | "body": [ 275 | "import { connect } from 'react-redux'", 276 | "", 277 | "export const ${1:${TM_FILENAME_BASE}} = (props) => {", 278 | " return (", 279 | "
${1:first}
", 280 | " )", 281 | "}", 282 | "", 283 | "const mapStateToProps = (state) => ({})", 284 | "", 285 | "const mapDispatchToProps = {}", 286 | "", 287 | "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" 288 | ], 289 | "description": "Creates a React functional component with connected redux and ES7 module system" 290 | }, 291 | "reactFunctionalComponentReduxPropTypes": { 292 | "prefix": "rfcreduxp", 293 | "body": [ 294 | "import PropTypes from 'prop-types'", 295 | "import { connect } from 'react-redux'", 296 | "", 297 | "export const ${1:${TM_FILENAME_BASE}} = (props) => {", 298 | " return (", 299 | "
${1:first}
", 300 | " )", 301 | "}", 302 | "", 303 | "${1:${TM_FILENAME_BASE}}.propTypes = {", 304 | " ${2:second}: PropTypes.${3:third}", 305 | "}", 306 | "", 307 | "const mapStateToProps = (state) => ({})", 308 | "", 309 | "const mapDispatchToProps = {}", 310 | "", 311 | "export default connect(mapStateToProps, mapDispatchToProps)(${1:${TM_FILENAME_BASE}})" 312 | ], 313 | "description": "DEPRECATED: Creates a React functional component with PropTypes with connected redux and ES7 module system" 314 | }, 315 | "reactFunctionalComponentWithPropTypes": { 316 | "prefix": "rfcp", 317 | "body": [ 318 | "import PropTypes from 'prop-types'", 319 | "", 320 | "function ${1:${TM_FILENAME_BASE}}(props) {", 321 | " return (", 322 | "
${1:first}
", 323 | " )", 324 | "}", 325 | "", 326 | "${1:${TM_FILENAME_BASE}}.propTypes = {}", 327 | "", 328 | "export default ${1:${TM_FILENAME_BASE}}", 329 | "" 330 | ], 331 | "description": "Creates a React Functional Component with ES7 module system with PropTypes" 332 | }, 333 | "reactFunctionalExportComponent": { 334 | "prefix": "rfce", 335 | "body": [ 336 | "function ${1:${TM_FILENAME_BASE}}() {", 337 | " return (", 338 | "
${1:first}
", 339 | " )", 340 | "}", 341 | "", 342 | "export default ${1:${TM_FILENAME_BASE}}" 343 | ], 344 | "description": "Creates a React Functional Component with ES7 module system" 345 | }, 346 | "useCallback": { 347 | "prefix": "useCallbackSnippet", 348 | "body": [ 349 | "useCallback(", 350 | " () => {", 351 | " ${1:first}", 352 | " },", 353 | " [${2:second}],", 354 | ")", 355 | "" 356 | ] 357 | }, 358 | "useContext": { 359 | "prefix": "useContextSnippet", 360 | "body": ["const ${1:first} = useContext(${2:second})"] 361 | }, 362 | "useEffect": { 363 | "prefix": "useEffectSnippet", 364 | "body": [ 365 | "useEffect(() => {", 366 | " ${1:first}", 367 | "", 368 | " return () => {", 369 | " ${2:second}", 370 | " }", 371 | "}, [${3:third}])", 372 | "" 373 | ] 374 | }, 375 | "useImperativeHandle": { 376 | "prefix": "useImperativeHandleSnippet", 377 | "body": [ 378 | "useImperativeHandle(", 379 | " ${1:first},", 380 | " () => {", 381 | " ${2:second}", 382 | " },", 383 | " [${3:third}],", 384 | ")" 385 | ] 386 | }, 387 | "useLayoutEffect": { 388 | "prefix": "useLayoutEffectSnippet", 389 | "body": [ 390 | "useLayoutEffect(() => {", 391 | " ${1:first}", 392 | "", 393 | " return () => {", 394 | " ${2:second}", 395 | " };", 396 | "}, [${3:third}])" 397 | ] 398 | }, 399 | "useMemo": { 400 | "prefix": "useMemoSnippet", 401 | "body": ["useMemo(() => ${1:first}, [${2:second}])"] 402 | }, 403 | "useReducer": { 404 | "prefix": "useReducerSnippet", 405 | "body": [ 406 | "const [state, dispatch] = useReducer(${1:first}, ${2:second}, ${3:third})" 407 | ] 408 | }, 409 | "useRef": { 410 | "prefix": "useRefSnippet", 411 | "body": ["const ${1:first} = useRef(${2:second})"] 412 | }, 413 | "useState": { 414 | "prefix": "useStateSnippet", 415 | "body": [ 416 | "const [${1:first}, set${1/(.*)/${1:/capitalize}/}] = useState(${2:second})" 417 | ] 418 | }, 419 | "importPropTypes": { 420 | "prefix": "impt", 421 | "body": ["import PropTypes from 'prop-types'"] 422 | }, 423 | "importReact": { 424 | "prefix": "imr", 425 | "body": ["import React from 'react'"] 426 | }, 427 | "importReactDom": { 428 | "prefix": "imrd", 429 | "body": ["import ReactDOM from 'react-dom'"] 430 | }, 431 | "importReactWithComponent": { 432 | "prefix": "imrc", 433 | "body": ["import React, { Component } from 'react'"] 434 | }, 435 | "importReactWithComponentAndPropTypes": { 436 | "prefix": "imrcp", 437 | "body": [ 438 | "import React, { Component } from 'react'", 439 | "import PropTypes from 'prop-types'", 440 | "" 441 | ] 442 | }, 443 | "importReactWithMemo": { 444 | "prefix": "imrm", 445 | "body": ["import React, { memo } from 'react'"] 446 | }, 447 | "importReactWithMemoAndPropTypes": { 448 | "prefix": "imrmp", 449 | "body": [ 450 | "import React, { memo } from 'react'", 451 | "import PropTypes from 'prop-types'", 452 | "" 453 | ] 454 | }, 455 | "importReactWithPureComponent": { 456 | "prefix": "imrpc", 457 | "body": ["import React, { PureComponent } from 'react'"] 458 | }, 459 | "importReactWithPureComponentAndPropTypes": { 460 | "prefix": "imrpcp", 461 | "body": [ 462 | "import React, { PureComponent } from 'react'", 463 | "import PropTypes from 'prop-types'", 464 | "" 465 | ] 466 | }, 467 | "importRouterLink": { 468 | "prefix": "imbrl", 469 | "body": ["import { Link } from 'react-router-dom'"] 470 | }, 471 | "importRouterNavLink": { 472 | "prefix": "imbrnl", 473 | "body": ["import { NavLink } from 'react-router-dom'"] 474 | }, 475 | "importRouterSetup": { 476 | "prefix": "imbrc", 477 | "body": [ 478 | "import { Route, Switch, NavLink, Link } from 'react-router-dom'" 479 | ] 480 | }, 481 | "importRouterSwitch": { 482 | "prefix": "imbrs", 483 | "body": ["import { Switch } from 'react-router-dom'"] 484 | }, 485 | "propTypeArray": { 486 | "prefix": "pta", 487 | "body": ["PropTypes.array"], 488 | "description": "Array prop type" 489 | }, 490 | "propTypeArrayRequired": { 491 | "prefix": "ptar", 492 | "body": ["PropTypes.array.isRequired"], 493 | "description": "Array prop type required" 494 | }, 495 | "propTypeBool": { 496 | "prefix": "ptb", 497 | "body": ["PropTypes.bool"], 498 | "description": "Bool prop type" 499 | }, 500 | "propTypeBoolRequired": { 501 | "prefix": "ptbr", 502 | "body": ["PropTypes.bool.isRequired"], 503 | "description": "Bool prop type required" 504 | }, 505 | "propTypeFunc": { 506 | "prefix": "ptf", 507 | "body": ["PropTypes.func"], 508 | "description": "Func prop type" 509 | }, 510 | "propTypeFuncRequired": { 511 | "prefix": "ptfr", 512 | "body": ["PropTypes.func.isRequired"], 513 | "description": "Func prop type required" 514 | }, 515 | "propTypeNumber": { 516 | "prefix": "ptn", 517 | "body": ["PropTypes.number"], 518 | "description": "Number prop type" 519 | }, 520 | "propTypeNumberRequired": { 521 | "prefix": "ptnr", 522 | "body": ["PropTypes.number.isRequired"], 523 | "description": "Number prop type required" 524 | }, 525 | "propTypeObject": { 526 | "prefix": "pto", 527 | "body": ["PropTypes.object"], 528 | "description": "Object prop type" 529 | }, 530 | "propTypeObjectRequired": { 531 | "prefix": "ptor", 532 | "body": ["PropTypes.object.isRequired"], 533 | "description": "Object prop type required" 534 | }, 535 | "propTypeString": { 536 | "prefix": "pts", 537 | "body": ["PropTypes.string"], 538 | "description": "String prop type" 539 | }, 540 | "propTypeStringRequired": { 541 | "prefix": "ptsr", 542 | "body": ["PropTypes.string.isRequired"], 543 | "description": "String prop type required" 544 | }, 545 | "propTypeNode": { 546 | "prefix": "ptnd", 547 | "body": ["PropTypes.node"], 548 | "description": "Anything that can be rendered: numbers, strings, elements or an array" 549 | }, 550 | "propTypeNodeRequired": { 551 | "prefix": "ptndr", 552 | "body": ["PropTypes.node.isRequired"], 553 | "description": "Anything that can be rendered: numbers, strings, elements or an array required" 554 | }, 555 | "propTypeElement": { 556 | "prefix": "ptel", 557 | "body": ["PropTypes.element"], 558 | "description": "React element prop type" 559 | }, 560 | "propTypeElementRequired": { 561 | "prefix": "ptelr", 562 | "body": ["PropTypes.element.isRequired"], 563 | "description": "React element prop type required" 564 | }, 565 | "propTypeInstanceOf": { 566 | "prefix": "pti", 567 | "body": ["PropTypes.instanceOf($0)"], 568 | "description": "Is an instance of a class prop type" 569 | }, 570 | "propTypeInstanceOfRequired": { 571 | "prefix": "ptir", 572 | "body": ["PropTypes.instanceOf($0).isRequired"], 573 | "description": "Is an instance of a class prop type required" 574 | }, 575 | "propTypeEnum": { 576 | "prefix": "pte", 577 | "body": ["PropTypes.oneOf(['$0'])"], 578 | "description": "Prop type limited to specific values by treating it as an enum" 579 | }, 580 | "propTypeEnumRequired": { 581 | "prefix": "pter", 582 | "body": ["PropTypes.oneOf(['$0']).isRequired"], 583 | "description": "Prop type limited to specific values by treating it as an enum required" 584 | }, 585 | "propTypeOneOfType": { 586 | "prefix": "ptet", 587 | "body": ["PropTypes.oneOfType([", " $0", "])"], 588 | "description": "An object that could be one of many types" 589 | }, 590 | "propTypeOneOfTypeRequired": { 591 | "prefix": "ptetr", 592 | "body": ["PropTypes.oneOfType([", " $0", "]).isRequired"], 593 | "description": "An object that could be one of many types required" 594 | }, 595 | "propTypeArrayOf": { 596 | "prefix": "ptao", 597 | "body": ["PropTypes.arrayOf($0)"], 598 | "description": "An array of a certain type" 599 | }, 600 | "propTypeArrayOfRequired": { 601 | "prefix": "ptaor", 602 | "body": ["PropTypes.arrayOf($0).isRequired"], 603 | "description": "An array of a certain type required" 604 | }, 605 | "propTypeObjectOf": { 606 | "prefix": "ptoo", 607 | "body": ["PropTypes.objectOf($0)"], 608 | "description": "An object with property values of a certain type" 609 | }, 610 | "propTypeObjectOfRequired": { 611 | "prefix": "ptoor", 612 | "body": ["PropTypes.objectOf($0).isRequired"], 613 | "description": "An object with property values of a certain type required" 614 | }, 615 | "propTypeShape": { 616 | "prefix": "ptsh", 617 | "body": ["PropTypes.shape({", " $0", "})"], 618 | "description": "An object taking on a particular shape" 619 | }, 620 | "propTypeShapeRequired": { 621 | "prefix": "ptshr", 622 | "body": ["PropTypes.shape({", " $0", "}).isRequired"], 623 | "description": "An object taking on a particular shape required" 624 | }, 625 | "propTypeExact": { 626 | "prefix": "ptex", 627 | "body": ["PropTypes.exact({", " $0", "})"], 628 | "description": "An object with warnings on extra properties" 629 | }, 630 | "propTypeExactRequired": { 631 | "prefix": "ptexr", 632 | "body": ["PropTypes.exact({", " $0", "}).isRequired"], 633 | "description": "An object with warnings on extra properties required" 634 | }, 635 | "propTypeAny": { 636 | "prefix": "ptany", 637 | "body": ["PropTypes.any"], 638 | "description": "Any prop type" 639 | }, 640 | "destructProps": { 641 | "prefix": "cp", 642 | "body": ["const { ${1:first} } = this.props"], 643 | "description": "Creates and assigns a local variable using props destructing" 644 | }, 645 | "destructState": { 646 | "prefix": "cs", 647 | "body": ["const { ${1:first} } = this.state"], 648 | "description": "Creates and assigns a local variable using state destructing" 649 | }, 650 | "classConstructor": { 651 | "prefix": "rconst", 652 | "body": [ 653 | "constructor(props) {", 654 | " super(props)", 655 | "", 656 | " this.state = {", 657 | " ${1:first}", 658 | " }", 659 | "}" 660 | ], 661 | "description": "Adds a default constructor for it('', () => {})the class that contains props as arguments" 662 | }, 663 | "emptyState": { 664 | "prefix": "est", 665 | "body": ["state = { ${1:first} }"], 666 | "description": "Creates empty state object. To be used in a constructor." 667 | }, 668 | "componentDidMount": { 669 | "prefix": "cdm", 670 | "body": ["componentDidMount() { ${1:first} }"], 671 | "description": "Invoked once, only on the client (not on the server), immediately after the initial rendering occurs." 672 | }, 673 | "shouldComponentUpdate": { 674 | "prefix": "scu", 675 | "body": ["shouldComponentUpdate(nextProps, nextState) { ${1:first} }"], 676 | "description": "Invoked before rendering when new props or state are being received. " 677 | }, 678 | "componentDidUpdate": { 679 | "prefix": "cdup", 680 | "body": ["componentDidUpdate(prevProps, prevState) { ${1:first}} "], 681 | "description": "Invoked immediately after the component's updates are flushed to the DOM." 682 | }, 683 | "componentWillUnmount": { 684 | "prefix": "cwun", 685 | "body": ["componentWillUnmount() {${1:first} }"], 686 | "description": "Invoked immediately before a component is unmounted from the DOM." 687 | }, 688 | "getDerivedStateFromProps": { 689 | "prefix": "gdsfp", 690 | "body": ["static getDerivedStateFromProps(props, state) {${1:first}}"], 691 | "description": "Invoked right before calling the render method, both on the initial mount and on subsequent updates." 692 | }, 693 | "getSnapshotBeforeUpdate": { 694 | "prefix": "gsbu", 695 | "body": [ 696 | "getSnapshotBeforeUpdate = (prevProps, prevState) => {${1:first}}" 697 | ], 698 | "description": "Called right before mutations are made (e.g. before the DOM is updated)" 699 | }, 700 | "createContext": { 701 | "prefix": "rcontext", 702 | "body": ["const ${1:first} = React.createContext()"], 703 | "description": "Create React context" 704 | }, 705 | "createRef": { 706 | "prefix": "cref", 707 | "body": ["this.${1:first}Ref = React.createRef()"], 708 | "description": "Create ref statement used inside constructor" 709 | }, 710 | "componentSetStateObject": { 711 | "prefix": "sst", 712 | "body": ["this.setState({${1:first}})"], 713 | "description": "Performs a shallow merge of nextState into current state" 714 | }, 715 | "componentSetStateFunc": { 716 | "prefix": "ssf", 717 | "body": ["this.setState((state, props) => { return { ${1:first} }})"], 718 | "description": "Performs a shallow merge of nextState into current state" 719 | }, 720 | "componentProps": { 721 | "prefix": "props", 722 | "body": ["this.props.${1:first}"], 723 | "description": "Access component's props" 724 | }, 725 | "componentState": { 726 | "prefix": "state", 727 | "body": ["this.state.${1:first}"] 728 | }, 729 | "bindThis": { 730 | "prefix": "bnd", 731 | "body": ["this.${1:first} = this.${1:first}.bind(this)"], 732 | "description": "Binds this to a method" 733 | } 734 | } 735 | -------------------------------------------------------------------------------- /.config/nvim/snippets/lua.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "prefix": "req", 4 | "body": ["require(\"${1:module}\")"], 5 | "description": "Require module" 6 | }, 7 | "return": { 8 | "prefix": "rt", 9 | "body": ["return $0"], 10 | "description": "return value" 11 | }, 12 | "assigment": { 13 | "prefix": "ll", 14 | "body": ["local ${1:varName} = ${0:value}"], 15 | "description": "create a variable" 16 | }, 17 | "local": { 18 | "prefix": "l", 19 | "body": ["local ${0}"], 20 | "description": "create a variable" 21 | }, 22 | "locreq": { 23 | "prefix": "lreq", 24 | "body": ["local ${1:var} = require(\"${2:module}\")"], 25 | "description": "Require module as a variable" 26 | }, 27 | "class": { 28 | "prefix": "cl", 29 | "body": [ 30 | "${1:className} = {}\n", 31 | "$1.${2:new} = function($3)", 32 | "\tlocal ${4:varName} = ${5:value}\n", 33 | "\t${6: --code}\n", 34 | "\treturn $4", 35 | "end" 36 | ], 37 | "description": "Create a class" 38 | }, 39 | "if": { 40 | "prefix": "if", 41 | "body": ["if ${1:true} then", "\t$0", "end"] 42 | }, 43 | "elseif": { 44 | "prefix": "elseif", 45 | "body": ["elseif ${1:true} then", "\t$0"] 46 | }, 47 | "for": { 48 | "prefix": "for", 49 | "body": ["for ${1:i}=${2:1},${3:10} do", "\t$0", "end"], 50 | "description": "for loop range" 51 | }, 52 | "foreach": { 53 | "prefix": "foreach", 54 | "body": ["for i, ${1:x} in pairs(${2:table}) do", "\t$0", "end"] 55 | }, 56 | "forline": { 57 | "prefix": "forline", 58 | "body": [ 59 | "f = io.open(${1:\"${2:filename}\"}, \"${3:r}\")\n", 60 | "while true do", 61 | "\tline = f:read()", 62 | "\tif line == nil then break end\n", 63 | "\t${0:-- code}", 64 | "end" 65 | ], 66 | "description": "read file line by line" 67 | }, 68 | "function": { 69 | "prefix": "fu", 70 | "body": ["function ${1:name}($2)", "\t${0:-- code}", "end"] 71 | }, 72 | "inline-function": { 73 | "prefix": "f=", 74 | "body": ["local ${1:name} = function($2)", "\t${0:-- code}", "end"] 75 | }, 76 | "print": { 77 | "prefix": "p", 78 | "body": ["print(${0})"] 79 | }, 80 | "self": { 81 | "prefix": "self:", 82 | "body": ["function self:${1:methodName}($2)", "\t$0", "end"] 83 | }, 84 | "while": { 85 | "prefix": "while", 86 | "body": ["while ${1:true} do", "\t$0", "end"] 87 | }, 88 | "pcall": { 89 | "prefix": "pca", 90 | "body": ["pcall(${1:function})"], 91 | "description": "Protect call a function" 92 | }, 93 | "locpcall": { 94 | "prefix": "lpca", 95 | "body": ["local ${1:status}, ${2:err_or_value} = pcall(${3:function})"], 96 | "description": "Protect call a function as a variable" 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /.config/nvim/snippets/markdown.json: -------------------------------------------------------------------------------- 1 | { 2 | "Create title header": { 3 | "prefix": "title", 4 | "body": [ 5 | "---", 6 | "title: '${1:title}'", 7 | "author: '${2:autor}'", 8 | "date: '${3:fecha}'", 9 | "---" 10 | ] 11 | }, 12 | "LTEX en ingles": { 13 | "prefix": "eng", 14 | "body": [""] 15 | }, 16 | "header 1": { 17 | "prefix": "h1", 18 | "body": ["# ${0}"], 19 | "description": "Add header level 1" 20 | }, 21 | "header 2": { 22 | "prefix": "h2", 23 | "body": ["## ${0}"], 24 | "description": "Add header level 2" 25 | }, 26 | "header 3": { 27 | "prefix": "h3", 28 | "body": ["### ${0}"], 29 | "description": "Add header level 3" 30 | }, 31 | "header 4": { 32 | "prefix": "h4", 33 | "body": ["#### ${0}"], 34 | "description": "Add header level 4" 35 | }, 36 | "header 5": { 37 | "prefix": "h5", 38 | "body": ["##### ${0}"], 39 | "description": "Add header level 5" 40 | }, 41 | "header 6": { 42 | "prefix": "h6", 43 | "body": ["###### ${0}"], 44 | "description": "Add header level 6" 45 | }, 46 | "Links": { 47 | "prefix": ["l", "link"], 48 | "body": ["[${1:text}](${2:url}) ${0}"], 49 | "description": "Add links" 50 | }, 51 | "URLS": { 52 | "prefix": ["u", "url"], 53 | "body": ["<${1}> ${0}"], 54 | "description": "Add urls" 55 | }, 56 | "Images": { 57 | "prefix": "img", 58 | "body": ["![${1:alt text}](${2:path}) ${0}"], 59 | "description": "Add images" 60 | }, 61 | "Insert strikethrough": { 62 | "prefix": "strikethrough", 63 | "body": "~~${1}~~ ${0}", 64 | "description": "Insert strikethrough" 65 | }, 66 | "Insert bold text": { 67 | "prefix": ["bold", "b"], 68 | "body": "**${1}** $0", 69 | "description": "Insert bold text" 70 | }, 71 | "Insert italic text": { 72 | "prefix": ["i", "italic"], 73 | "body": "*${1}* $0", 74 | "description": "Insert italic text" 75 | }, 76 | "Insert bold and italic text": { 77 | "prefix": ["bold and italic", "bi"], 78 | "body": "***${1}*** $0", 79 | "description": "Insert bold and italic text" 80 | }, 81 | "Insert quoted text": { 82 | "prefix": "quote", 83 | "body": "> ${1}", 84 | "description": "Insert quoted text" 85 | }, 86 | "Insert code": { 87 | "prefix": "code", 88 | "body": "`${1}` $0", 89 | "description": "Insert code" 90 | }, 91 | "Insert code block": { 92 | "prefix": "codeblock", 93 | "body": ["```${1:language}", "$0", "```"], 94 | "description": "Insert fenced code block" 95 | }, 96 | "Insert unordered list": { 97 | "prefix": "unordered list", 98 | "body": ["- ${1:first}", "- ${2:second}", "- ${3:third}", "$0"], 99 | "description": "Insert unordered list" 100 | }, 101 | "Insert ordered list": { 102 | "prefix": "ordered list", 103 | "body": ["1. ${1:first}", "2. ${2:second}", "3. ${3:third}", "$0"], 104 | "description": "Insert ordered list" 105 | }, 106 | "Insert horizontal rule": { 107 | "prefix": "horizontal rule", 108 | "body": "----------\n", 109 | "description": "Insert horizontal rule" 110 | }, 111 | "Insert task list": { 112 | "prefix": "task", 113 | "body": ["- [${1| ,x|}] ${2:text}", "${0}"], 114 | "description": "Insert task list" 115 | }, 116 | "Insert task list 2": { 117 | "prefix": "task2", 118 | "body": ["- [${1| ,x|}] ${2:text}", "- [${3| ,x|}] ${4:text}", "${0}"], 119 | "description": "Insert task list with 2 tasks" 120 | }, 121 | "Insert task list 3": { 122 | "prefix": "task3", 123 | "body": [ 124 | "- [${1| ,x|}] ${2:text}", 125 | "- [${3| ,x|}] ${4:text}", 126 | "- [${5| ,x|}] ${6:text}", 127 | "${0}" 128 | ], 129 | "description": "Insert task list with 3 tasks" 130 | }, 131 | "Insert task list 4": { 132 | "prefix": "task4", 133 | "body": [ 134 | "- [${1| ,x|}] ${2:text}", 135 | "- [${3| ,x|}] ${4:text}", 136 | "- [${5| ,x|}] ${6:text}", 137 | "- [${7| ,x|}] ${8:text}", 138 | "${0}" 139 | ], 140 | "description": "Insert task list with 4 tasks" 141 | }, 142 | "Insert task list 5": { 143 | "prefix": "task5", 144 | "body": [ 145 | "- [${1| ,x|}] ${2:text}", 146 | "- [${3| ,x|}] ${4:text}", 147 | "- [${5| ,x|}] ${6:text}", 148 | "- [${7| ,x|}] ${8:text}", 149 | "- [${9| ,x|}] ${10:text}", 150 | "${0}" 151 | ], 152 | "description": "Insert task list with 5 tasks" 153 | }, 154 | "Insert table": { 155 | "prefix": "table", 156 | "body": [ 157 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 158 | "|-------------- | -------------- | -------------- |", 159 | "| ${4:Item1} | ${5:Item1} | ${6:Item1} |", 160 | "${0}" 161 | ], 162 | "description": "Insert table with 2 rows and 3 columns. First row is heading." 163 | }, 164 | "Insert 2x1 table": { 165 | "prefix": "2x1table", 166 | "body": [ 167 | "| ${1:Column1} |", 168 | "|-------------- |", 169 | "| ${2:Item1} |", 170 | "${0}" 171 | ], 172 | "description": "Insert table with 2 rows and 1 column. First row is heading." 173 | }, 174 | "Insert 3x1 table": { 175 | "prefix": "3x1table", 176 | "body": [ 177 | "| ${1:Column1} |", 178 | "|-------------- |", 179 | "| ${2:Item1} |", 180 | "| ${3:Item2} |", 181 | "${0}" 182 | ], 183 | "description": "Insert table with 3 rows and 1 column. First row is heading." 184 | }, 185 | "Insert 4x1 table": { 186 | "prefix": "4x1table", 187 | "body": [ 188 | "| ${1:Column1} |", 189 | "|-------------- |", 190 | "| ${2:Item1} |", 191 | "| ${3:Item2} |", 192 | "| ${4:Item3} |", 193 | "${0}" 194 | ], 195 | "description": "Insert table with 4 rows and 1 column. First row is heading." 196 | }, 197 | "Insert 5x1 table": { 198 | "prefix": "5x1table", 199 | "body": [ 200 | "| ${1:Column1} |", 201 | "|-------------- |", 202 | "| ${2:Item1} |", 203 | "| ${3:Item2} |", 204 | "| ${4:Item3} |", 205 | "| ${5:Item4} |", 206 | "${0}" 207 | ], 208 | "description": "Insert table with 5 rows and 1 column. First row is heading." 209 | }, 210 | "Insert 2x2 table": { 211 | "prefix": "2x2table", 212 | "body": [ 213 | "| ${1:Column1} | ${2:Column2} |", 214 | "|--------------- | --------------- |", 215 | "| ${3:Item1.1} | ${4:Item2.1} |", 216 | "${0}" 217 | ], 218 | "description": "Insert table with 2 rows and 2 columns. First row is heading." 219 | }, 220 | "Insert 3x2 table": { 221 | "prefix": "3x2table", 222 | "body": [ 223 | "| ${1:Column1} | ${2:Column2} |", 224 | "|--------------- | --------------- |", 225 | "| ${3:Item1.1} | ${4:Item2.1} |", 226 | "| ${5:Item1.2} | ${6:Item2.2} |", 227 | "${0}" 228 | ], 229 | "description": "Insert table with 3 rows and 2 columns. First row is heading." 230 | }, 231 | "Insert 4x2 table": { 232 | "prefix": "4x2table", 233 | "body": [ 234 | "| ${1:Column1} | ${2:Column2} |", 235 | "|--------------- | --------------- |", 236 | "| ${3:Item1.1} | ${4:Item2.1} |", 237 | "| ${5:Item1.2} | ${6:Item2.2} |", 238 | "| ${7:Item1.3} | ${8:Item2.3} |", 239 | "${0}" 240 | ], 241 | "description": "Insert table with 4 rows and 2 columns. First row is heading." 242 | }, 243 | "Insert 5x2 table": { 244 | "prefix": "5x2table", 245 | "body": [ 246 | "| ${1:Column1} | ${2:Column2} |", 247 | "|--------------- | --------------- |", 248 | "| ${3:Item1.1} | ${4:Item2.1} |", 249 | "| ${4:Item1.2} | ${5:Item2.2} |", 250 | "| ${6:Item1.3} | ${7:Item2.3} |", 251 | "| ${8:Item1.4} | ${9:Item2.4} |", 252 | "${0}" 253 | ], 254 | "description": "Insert table with 5 rows and 2 columns. First row is heading." 255 | }, 256 | "Insert 2x3 table": { 257 | "prefix": "2x3table", 258 | "body": [ 259 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 260 | "|---------------- | --------------- | --------------- |", 261 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 262 | "${0}" 263 | ], 264 | "description": "Insert table with 2 rows and 3 columns. First row is heading." 265 | }, 266 | "Insert 3x3 table": { 267 | "prefix": "3x3table", 268 | "body": [ 269 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 270 | "|---------------- | --------------- | --------------- |", 271 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 272 | "| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |", 273 | "${0}" 274 | ], 275 | "description": "Insert table with 3 rows and 3 columns. First row is heading." 276 | }, 277 | "Insert 4x3 table": { 278 | "prefix": "4x3table", 279 | "body": [ 280 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 281 | "|---------------- | --------------- | --------------- |", 282 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 283 | "| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |", 284 | "| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |", 285 | "${0}" 286 | ], 287 | "description": "Insert table with 4 rows and 3 columns. First row is heading." 288 | }, 289 | "Insert 5x3 table": { 290 | "prefix": "5x3table", 291 | "body": [ 292 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} |", 293 | "|---------------- | --------------- | --------------- |", 294 | "| ${4:Item1.1} | ${5:Item2.1} | ${6:Item3.1} |", 295 | "| ${7:Item1.2} | ${8:Item2.2} | ${9:Item3.2} |", 296 | "| ${10:Item1.3} | ${11:Item2.3} | ${12:Item3.3} |", 297 | "| ${13:Item1.4} | ${14:Item2.4} | ${15:Item3.4} |", 298 | "${0}" 299 | ], 300 | "description": "Insert table with 5 rows and 3 columns. First row is heading." 301 | }, 302 | "Insert 2x4 table": { 303 | "prefix": "2x4table", 304 | "body": [ 305 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |", 306 | "|---------------- | --------------- | --------------- | --------------- |", 307 | "| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |", 308 | "${0}" 309 | ], 310 | "description": "Insert table with 2 rows and 4 columns. First row is heading." 311 | }, 312 | "Insert 3x4 table": { 313 | "prefix": "3x4table", 314 | "body": [ 315 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |", 316 | "|---------------- | --------------- | --------------- | --------------- |", 317 | "| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |", 318 | "| ${9:Item1.2} | ${10:Item2.2} | ${11:Item3.2} | ${12:Item4.2} |", 319 | "${0}" 320 | ], 321 | "description": "Insert table with 3 rows and 4 columns. First row is heading." 322 | }, 323 | "Insert 4x4 table": { 324 | "prefix": "4x4table", 325 | "body": [ 326 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |", 327 | "|---------------- | --------------- | --------------- | --------------- |", 328 | "| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |", 329 | "| ${9:Item1.2} | ${10:Item2.2} | ${11:Item3.2} | ${12:Item4.2} |", 330 | "| ${13:Item1.3} | ${14:Item2.3} | ${15:Item3.3} | ${16:Item4.3} |", 331 | "${0}" 332 | ], 333 | "description": "Insert table with 4 rows and 4 columns. First row is heading." 334 | }, 335 | "Insert 5x4 table": { 336 | "prefix": "5x4table", 337 | "body": [ 338 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} |", 339 | "|---------------- | --------------- | --------------- | --------------- |", 340 | "| ${5:Item1.1} | ${6:Item2.1} | ${7:Item3.1} | ${8:Item4.1} |", 341 | "| ${9:Item1.2} | ${10:Item2.2} | ${11:Item3.2} | ${12:Item4.2} |", 342 | "| ${13:Item1.3} | ${14:Item2.3} | ${15:Item3.3} | ${16:Item4.3} |", 343 | "| ${17:Item1.4} | ${18:Item2.4} | ${19:Item3.4} | ${20:Item4.4} |", 344 | "${0}" 345 | ], 346 | "description": "Insert table with 5 rows and 4 columns. First row is heading." 347 | }, 348 | "Insert 2x5 table": { 349 | "prefix": "2x5table", 350 | "body": [ 351 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |", 352 | "|---------------- | --------------- | --------------- | --------------- | --------------- |", 353 | "| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |", 354 | "${0}" 355 | ], 356 | "description": "Insert table with 2 rows and 5 columns. First row is heading." 357 | }, 358 | "Insert 3x5 table": { 359 | "prefix": "3x5table", 360 | "body": [ 361 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |", 362 | "|---------------- | --------------- | --------------- | --------------- | --------------- |", 363 | "| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |", 364 | "| ${11:Item1.2} | ${12:Item2.2} | ${13:Item3.2} | ${14:Item4.2} | ${15:Item5.2} |", 365 | "${0}" 366 | ], 367 | "description": "Insert table with 3 rows and 5 columns. First row is heading." 368 | }, 369 | "Insert 4x5 table": { 370 | "prefix": "4x5table", 371 | "body": [ 372 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |", 373 | "|---------------- | --------------- | --------------- | --------------- | --------------- |", 374 | "| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |", 375 | "| ${11:Item1.2} | ${12:Item2.2} | ${13:Item3.2} | ${14:Item4.2} | ${15:Item5.2} |", 376 | "| ${16:Item1.3} | ${17:Item2.3} | ${18:Item3.3} | ${19:Item4.3} | ${20:Item5.3} |", 377 | "${0}" 378 | ], 379 | "description": "Insert table with 4 rows and 5 columns. First row is heading." 380 | }, 381 | "Insert 5x5 table": { 382 | "prefix": "5x5table", 383 | "body": [ 384 | "| ${1:Column1} | ${2:Column2} | ${3:Column3} | ${4:Column4} | ${5:Column5} |", 385 | "|---------------- | --------------- | --------------- | --------------- | --------------- |", 386 | "| ${6:Item1.1} | ${7:Item2.1} | ${8:Item3.1} | ${9:Item4.1} | ${10:Item5.1} |", 387 | "| ${11:Item1.2} | ${12:Item2.2} | ${13:Item3.2} | ${14:Item4.2} | ${15:Item5.2} |", 388 | "| ${16:Item1.3} | ${17:Item2.3} | ${18:Item3.3} | ${19:Item4.3} | ${20:Item5.3} |", 389 | "| ${21:Item1.4} | ${22:Item2.4} | ${23:Item3.4} | ${24:Item4.4} | ${25:Item5.4} |", 390 | "${0}" 391 | ], 392 | "description": "Insert table with 5 rows and 5 columns. First row is heading." 393 | }, 394 | "Insert subscript": { 395 | "prefix": "sub", 396 | "body": ["${1}${0}"], 397 | "description": "Create a subscript." 398 | }, 399 | "Insert superscript": { 400 | "prefix": "sup", 401 | "body": ["${1}${0}"], 402 | "description": "Create a superscript." 403 | } 404 | } 405 | -------------------------------------------------------------------------------- /.config/nvim/snippets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "my-custom-snippets", 3 | "engines": { 4 | "vscode": "^1.11.0" 5 | }, 6 | "contributes": { 7 | "snippets": [ 8 | { 9 | "language": ["sql"], 10 | "path": "./sql.json" 11 | }, 12 | { 13 | "language": ["rust"], 14 | "path": "./rust.json" 15 | }, 16 | { 17 | "language": ["lua"], 18 | "path": "./lua.json" 19 | }, 20 | { 21 | "language": ["markdown"], 22 | "path": "./markdown.json" 23 | }, 24 | { 25 | "language": [ 26 | "javascript", 27 | "javascriptreact", 28 | "vue", 29 | "svelte", 30 | "astro", 31 | "javascript.jsx", 32 | "typescript", 33 | "typescriptreact", 34 | "typescript.tsx" 35 | ], 36 | "path": "./javascript.json" 37 | }, 38 | { 39 | "language": [ 40 | "javascriptreact", 41 | "javascript.jsx", 42 | "typescriptreact", 43 | "typescript.tsx" 44 | ], 45 | "path": "./javascriptreact.json" 46 | }, 47 | { 48 | "language": ["tex"], 49 | "path": "./tex.json" 50 | }, 51 | { 52 | "language": ["python"], 53 | "path": "./django.json" 54 | }, 55 | { 56 | "language": ["python"], 57 | "path": "./python.json" 58 | }, 59 | { 60 | "language": ["html"], 61 | "path": "./htmldjango.json" 62 | } 63 | ] 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /.config/nvim/snippets/python.json: -------------------------------------------------------------------------------- 1 | { 2 | "#!/usr/bin/env python": { 3 | "prefix": "env", 4 | "body": "#!/usr/bin/env python\n$0", 5 | "description": "Adds shebang line for default python interpreter." 6 | }, 7 | "#!/usr/bin/env python3": { 8 | "prefix": "env3", 9 | "body": "#!/usr/bin/env python3\n$0", 10 | "description": "Adds shebang line for default python 3 interpreter." 11 | }, 12 | "# -*- coding=utf-8 -*-": { 13 | "prefix": "enc", 14 | "body": "# -*- coding=utf-8 -*-\n$0", 15 | "description": "set default python2.x encoding specification to utf-8 as it is mentioned in pep-0263." 16 | }, 17 | "# coding=utf-8": { 18 | "prefix": "enco", 19 | "body": "# coding=utf-8\n$0", 20 | "description": "Set default python3 encoding specification to utf-8, by default this is the encoding for python3.x as it is mentioned in pep-3120." 21 | }, 22 | "from future import ...": { 23 | "prefix": "fenc", 24 | "body": [ 25 | "# -*- coding: utf-8 -*-", 26 | "from __future__ import absolute_import, division, print_function, unicode_literals" 27 | ], 28 | "description": "Import future statement definitions for python2.x scripts using utf-8 as encoding." 29 | }, 30 | "from future import ... v1": { 31 | "prefix": "fenco", 32 | "body": [ 33 | "# coding: utf-8", 34 | "from __future__ import absolute_import, division, print_function, unicode_literals" 35 | ], 36 | "description": "Import future statement definitions for python3.x scripts using utf-8 as encoding." 37 | }, 38 | "import": { 39 | "prefix": "im", 40 | "body": "import ${1:package/module}$0", 41 | "description": "Import a package or module" 42 | }, 43 | "from ... import ...": { 44 | "prefix": "fim", 45 | "body": "from ${1:package/module} import ${2:names}$0", 46 | "description": "Import statement that allows individual objects from the module to be imported directly into the caller’s symbol table." 47 | }, 48 | "class": { 49 | "prefix": "class", 50 | "body": ["class ${1:classname}(${2:object}):", "\t${3:pass}"], 51 | "description": "Code snippet for a class definition" 52 | }, 53 | "New class": { 54 | "prefix": "classi", 55 | "body": "class ${1:ClassName}(${2:object}):\n\t\"\"\"${3:docstring for $1.}\"\"\"\n\tdef __init__(self, ${4:arg}):\n\t\t${5:super($1, self).__init__()}\n\t\tself.arg = arg\n\t\t$0", 56 | "description": "Code snippet for a class definition." 57 | }, 58 | "New method": { 59 | "prefix": "defs", 60 | "body": "def ${1:mname}(self, ${2:arg}):\n\t${3:pass}$0", 61 | "description": "Code snippet for a class method definition." 62 | }, 63 | "New method w/ return": { 64 | "prefix": "defst", 65 | "body": "def ${1:mname}(self, ${2:arg}) -> ${3:return_type}:\n\t${4:pass}$0", 66 | "description": "Code snippet for a class method definition." 67 | }, 68 | "New function": { 69 | "prefix": "def", 70 | "body": "def ${1:fname}(${2:arg}):\n\t${3:pass}$0", 71 | "description": "Code snippet for function definition." 72 | }, 73 | "New function w/ return": { 74 | "prefix": "deft", 75 | "body": "def ${1:fname}(${2:arg}) -> ${3:return_type}:\n\t${4:pass}$0", 76 | "description": "Code snippet for function definition." 77 | }, 78 | "New async function": { 79 | "prefix": "adef", 80 | "body": "async def ${1:fname}(${2:arg}):\n\t${3:pass}$0", 81 | "description": "Code snippet for async function definition." 82 | }, 83 | "New property": { 84 | "prefix": "property", 85 | "body": "@property\ndef ${1:foo}(self):\n \"\"\"${2:The $1 property.}\"\"\"\n ${3:return self._$1}\n@${4:$1}.setter\ndef ${5:$1}(self, value):\n ${6:self._$1} = value", 86 | "description": "New property: get and set via decorator" 87 | }, 88 | "if": { 89 | "prefix": "if", 90 | "body": "if ${1:condition}:\n\t${2:pass}$0", 91 | "description": "Code snippet for the if statement." 92 | }, 93 | "if/else": { 94 | "prefix": "if/else", 95 | "body": ["if ${1:condition}:", "\t${2:pass}", "else:", "\t${3:pass}"], 96 | "description": "Code snippet for an if statement with else" 97 | }, 98 | "elif": { 99 | "prefix": "elif", 100 | "body": ["elif ${1:expression}:", "\t${2:pass}"], 101 | "description": "Code snippet for an elif" 102 | }, 103 | "else": { 104 | "prefix": "else", 105 | "body": ["else:", "\t${1:pass}"], 106 | "description": "Code snippet for an else" 107 | }, 108 | "for": { 109 | "prefix": "for", 110 | "body": "for ${1:value} in ${2:iterable}:\n\t${3:pass}$0", 111 | "description": "Code snippet to create a for loop structure." 112 | }, 113 | "for/else": { 114 | "prefix": "for/else", 115 | "body": [ 116 | "for ${1:target_list} in ${2:expression_list}:", 117 | "\t${3:pass}", 118 | "else:", 119 | "\t${4:pass}" 120 | ], 121 | "description": "Code snippet for a for loop with else" 122 | }, 123 | "while": { 124 | "prefix": "while", 125 | "body": "while ${1:condition}:\n\t${2:pass}$0", 126 | "description": "Code snippet to create a while loop structure." 127 | }, 128 | "while/else": { 129 | "prefix": "while/else", 130 | "body": ["while ${1:expression}:", "\t${2:pass}", "else:", "\t${3:pass}"], 131 | "description": "Code snippet for a while loop with else" 132 | }, 133 | "try:except:": { 134 | "prefix": "try", 135 | "body": "try:\n\t${1:pass}\nexcept ${2:Exception} as ${3:e}:\n\t${4:raise $3}$0", 136 | "description": "Code Snippet for a try and except blocks." 137 | }, 138 | "try:except:else:finally": { 139 | "prefix": "tryef", 140 | "body": "try:\n\t${1:pass}\nexcept${2: ${3:Exception} as ${4:e}}:\n\t${5:raise}\nelse:\n\t${6:pass}\nfinally:\n\t${7:pass}$0", 141 | "description": "Code Snippet for a try/except/finally with else statement." 142 | }, 143 | "try:except:else": { 144 | "prefix": "trye", 145 | "body": "try:\n\t${1:pass}\nexcept ${2:Exception} as ${3:e}:\n\t${4:raise $3}\nelse:\n\t${5:pass}$0", 146 | "description": "Code Snippet for a try/except with else statement." 147 | }, 148 | "try:except:finally": { 149 | "prefix": "tryf", 150 | "body": "try:\n\t${1:pass}\nexcept ${2:Exception} as ${3:e}:\n\t${4:raise $3}\nfinally:\n\t${5:pass}$0", 151 | "description": "Code Snippet for a try/except/finally." 152 | }, 153 | "with": { 154 | "prefix": "with", 155 | "body": ["with ${1:expression} as ${2:target}:", "\t${3:pass}"], 156 | "description": "Code snippet for a with statement" 157 | }, 158 | "self": { 159 | "prefix": ".", 160 | "body": "self.$0", 161 | "description": "Shortend snippet to reference the self property in an object." 162 | }, 163 | "__magic__": { 164 | "prefix": "__", 165 | "body": "__${1:init}__$0", 166 | "description": "Code snippet to create magic methods." 167 | }, 168 | "if __name__ == \"__main__\"": { 169 | "prefix": "ifmain", 170 | "body": "if __name__ == \"__main__\":\n\t${1:main()}$0", 171 | "description": "Create implicitly all the code at the top level using the __name__ special variable." 172 | }, 173 | "List comprehension": { 174 | "prefix": "lc", 175 | "body": "[${1:value} for ${2:value} in ${3:iterable}]$0", 176 | "description": "List comprehension for creating a list based on existing lists." 177 | }, 178 | "List comprehension if else": { 179 | "prefix": "lcie", 180 | "body": "[${1:value} if ${2:condition} else ${3:condition} for ${4:value} in ${5:iterable}]$0", 181 | "description": "List comprehension for creating a list based on existing lists, with conditional if-else statement." 182 | }, 183 | "List comprehension if filter": { 184 | "prefix": "lci", 185 | "body": "[${1:value} for ${2:value} in ${3:iterable} if ${4:condition}$0]", 186 | "description": "List comprehension for creating a list based on existing lists, with conditional if statement." 187 | }, 188 | "Dictionary comprehension": { 189 | "prefix": "dc", 190 | "body": "{${1:key}: ${2:value} for ${3:key}, ${4:value} in ${5:iterable}}$0", 191 | "description": "Handy and faster way to create dictories based on existing dictionaries." 192 | }, 193 | "Dictionary comprehension if filter": { 194 | "prefix": "dci", 195 | "body": "{${1:key}: ${2:value} for ${3:key}, ${4:value} in ${5:iterable} if ${6:condition}}$0", 196 | "description": "Handy and faster way to create dictories based on existing dictionaries, with conditional if statement." 197 | }, 198 | "Set comprehension": { 199 | "prefix": "sc", 200 | "body": "{${1:value} for ${2:value} in ${3:iterable}}$0", 201 | "description": "Create a set based on existing iterables." 202 | }, 203 | "Set Comprehension if filter": { 204 | "prefix": "sci", 205 | "body": "{${1:value} for ${2:value} in ${3:iterable} if ${4:condition}}$0", 206 | "description": "Create a set based on existing iterables, with condition if statement." 207 | }, 208 | "Generator comprehension": { 209 | "prefix": "gc", 210 | "body": "(${1:key} for ${2:value} in ${3:iterable})$0", 211 | "description": "Create a generator based on existing iterables." 212 | }, 213 | "Generator comprehension if filter": { 214 | "prefix": "gci", 215 | "body": "(${1:key} for ${2:value} in ${3:iterable} if ${4:condition})$0", 216 | "description": "Create a generator based on existing iterables, with condition if statement." 217 | }, 218 | "try/except": { 219 | "prefix": "try/except", 220 | "body": [ 221 | "try:", 222 | "\t${1:pass}", 223 | "except ${2:expression} as ${3:identifier}:", 224 | "\t${4:pass}" 225 | ], 226 | "description": "Code snippet for a try/except statement" 227 | }, 228 | "try/finally": { 229 | "prefix": "try/finally", 230 | "body": ["try:", "\t${1:pass}", "finally:", "\t${2:pass}"], 231 | "description": "Code snippet for a try/finally statement" 232 | }, 233 | "try/except/else": { 234 | "prefix": "try/except/else", 235 | "body": [ 236 | "try:", 237 | "\t${1:pass}", 238 | "except ${2:expression} as ${3:identifier}:", 239 | "\t${4:pass}", 240 | "else:", 241 | "\t${5:pass}" 242 | ], 243 | "description": "Code snippet for a try/except/else statement" 244 | }, 245 | "try/except/finally": { 246 | "prefix": "try/except/finally", 247 | "body": [ 248 | "try:", 249 | "\t${1:pass}", 250 | "except ${2:expression} as ${3:identifier}:", 251 | "\t${4:pass}", 252 | "finally:", 253 | "\t${5:pass}" 254 | ], 255 | "description": "Code snippet for a try/except/finally statement" 256 | }, 257 | "try/except/else/finally": { 258 | "prefix": "try/except/else/finally", 259 | "body": [ 260 | "try:", 261 | "\t${1:pass}", 262 | "except ${2:expression} as ${3:identifier}:", 263 | "\t${4:pass}", 264 | "else:", 265 | "\t${5:pass}", 266 | "finally:", 267 | "\t${6:pass}" 268 | ], 269 | "description": "Code snippet for a try/except/else/finally statement" 270 | }, 271 | "def(class method)": { 272 | "prefix": "def class method", 273 | "body": ["def ${1:funcname}(self, ${2:parameter_list}):", "\t${3:pass}"], 274 | "description": "Code snippet for a class method" 275 | }, 276 | "def(static class method)": { 277 | "prefix": "def static class method", 278 | "body": ["@staticmethod", "def ${1:funcname}(${2:parameter_list}):", "\t${3:pass}"], 279 | "description": "Code snippet for a static class method" 280 | }, 281 | "def(abstract class method)": { 282 | "prefix": "def abstract class method", 283 | "body": ["def ${1:funcname}(self, ${2:parameter_list}):", "\traise NotImplementedError"], 284 | "description": "Code snippet for an abstract class method" 285 | }, 286 | "lambda": { 287 | "prefix": "lambda", 288 | "body": ["lambda ${1:parameter_list}: ${2:expression}"], 289 | "description": "Code snippet for a lambda statement" 290 | }, 291 | "if(main)": { 292 | "prefix": "__main__", 293 | "body": ["if __name__ == \"__main__\":", " ${1:pass}"], 294 | "description": "Code snippet for a `if __name__ == \"__main__\": ...` block" 295 | }, 296 | "async/def": { 297 | "prefix": "async/def", 298 | "body": ["async def ${1:funcname}(${2:parameter_list}):", "\t${3:pass}"], 299 | "description": "Code snippet for an async statement" 300 | }, 301 | "async/for": { 302 | "prefix": "async/for", 303 | "body": ["async for ${1:target} in ${2:iter}:", "\t${3:block}"], 304 | "description": "Code snippet for an async for statement" 305 | }, 306 | "async/for/else": { 307 | "prefix": "async/for/else", 308 | "body": ["async for ${1:target} in ${2:iter}:", "\t${3:block}", "else:", "\t${4:block}"], 309 | "description": "Code snippet for an async for statement with else" 310 | }, 311 | "async/with": { 312 | "prefix": "async/with", 313 | "body": ["async with ${1:expr} as ${2:var}:", "\t${3:block}"], 314 | "description": "Code snippet for an async with statement" 315 | }, 316 | "add/new/cell": { 317 | "prefix": "add/new/cell", 318 | "body": "# %%", 319 | "description": "Code snippet to add a new cell" 320 | }, 321 | "mark/markdown": { 322 | "prefix": "mark/markdown", 323 | "body": "# %% [markdown]", 324 | "description": "Code snippet to add a new markdown cell" 325 | } 326 | } 327 | -------------------------------------------------------------------------------- /.config/nvim/snippets/rust.json: -------------------------------------------------------------------------------- 1 | { 2 | "Complete format to test": { 3 | "prefix": "testformat", 4 | "body": [ 5 | "#[cfg(test)]", 6 | "mod tests {", 7 | " #[test]", 8 | " fn ${1:name}() {", 9 | " ${2:unimplemented!();}", 10 | " }", 11 | "}" 12 | ] 13 | }, 14 | "allow": { 15 | "prefix": "allow", 16 | "body": ["#![allow(${1})]"], 17 | "description": "#![allow(…)]" 18 | }, 19 | "deny": { 20 | "prefix": "deny", 21 | "body": ["#![deny(${1})]"], 22 | "description": "#![deny(…)]" 23 | }, 24 | "warn": { 25 | "prefix": "warn", 26 | "body": ["#![warn(${1})]"], 27 | "description": "#![warn(…)]" 28 | }, 29 | "no_std": { 30 | "prefix": "no_std", 31 | "body": ["#![no_std]"], 32 | "description": "#![no_std]" 33 | }, 34 | "no_core": { 35 | "prefix": "no_core", 36 | "body": ["#![no_core]"], 37 | "description": "#![no_core]" 38 | }, 39 | "feature": { 40 | "prefix": "feature", 41 | "body": ["#![feature(${1})]"], 42 | "description": "#![feature(…)]" 43 | }, 44 | "macro_use": { 45 | "prefix": "macro_use", 46 | "body": ["#[macro_use(${1})]"], 47 | "description": "#[macro_use(…)]" 48 | }, 49 | "repr": { 50 | "prefix": "repr", 51 | "body": ["#[repr(${1})]"], 52 | "description": "#[repr(…)]" 53 | }, 54 | "cfg": { 55 | "prefix": "cfg", 56 | "body": ["#[cfg(${1})]"], 57 | "description": "#[cfg(…)]" 58 | }, 59 | "cfg_attr": { 60 | "prefix": "cfg_attr", 61 | "body": ["#[cfg_attr(${1}, ${2})]"], 62 | "description": "#[cfg_attr(…, …)]" 63 | }, 64 | "cfg!": { 65 | "prefix": "cfg!", 66 | "body": ["cfg!(${1})"], 67 | "description": "cfg!(…)" 68 | }, 69 | "column": { 70 | "prefix": "column", 71 | "body": ["column!()"], 72 | "description": "column!()" 73 | }, 74 | "concat": { 75 | "prefix": "concat", 76 | "body": ["concat!(${1})"], 77 | "description": "concat!(…)" 78 | }, 79 | "concat_idents": { 80 | "prefix": "concat_idents", 81 | "body": ["concat_idents!(${1})"], 82 | "description": "concat_idents!(…)" 83 | }, 84 | "debug_assert": { 85 | "prefix": "debug_assert", 86 | "body": ["debug_assert!(${1});"], 87 | "description": "debug_assert!(…)" 88 | }, 89 | "debug_assert_eq": { 90 | "prefix": "debug_assert_eq", 91 | "body": ["debug_assert_eq!(${1}, ${2});"], 92 | "description": "debug_assert_eq!(…, …)" 93 | }, 94 | "env": { 95 | "prefix": "env", 96 | "body": ["env!(\"${1}\")"], 97 | "description": "env!(\"…\")" 98 | }, 99 | "file": { 100 | "prefix": "file", 101 | "body": ["file!()"], 102 | "description": "file!()" 103 | }, 104 | "format": { 105 | "prefix": "format", 106 | "body": ["format!(\"${1}\")"], 107 | "description": "format!(…)" 108 | }, 109 | "format_args": { 110 | "prefix": "format_args", 111 | "body": ["format_args!(\"${1}\")"], 112 | "description": "format_args!(…)" 113 | }, 114 | "include": { 115 | "prefix": "include", 116 | "body": ["include!(\"${1}\");"], 117 | "description": "include!(\"…\");" 118 | }, 119 | "include_bytes": { 120 | "prefix": "include_bytes", 121 | "body": ["include_bytes!(\"${1}\")"], 122 | "description": "include_bytes!(\"…\")" 123 | }, 124 | "include_str": { 125 | "prefix": "include_str", 126 | "body": ["include_str!(\"${1}\")"], 127 | "description": "include_str!(\"…\")" 128 | }, 129 | "line": { 130 | "prefix": "line", 131 | "body": ["line!()"], 132 | "description": "line!()" 133 | }, 134 | "module_path": { 135 | "prefix": "module_path", 136 | "body": ["module_path!()"], 137 | "description": "module_path!()" 138 | }, 139 | "option_env": { 140 | "prefix": "option_env", 141 | "body": ["option_env!(\"${1}\")"], 142 | "description": "option_env!(\"…\")" 143 | }, 144 | "panic": { 145 | "prefix": "panic", 146 | "body": ["panic!(\"${1}\");"], 147 | "description": "panic!(…);" 148 | }, 149 | "print": { 150 | "prefix": "print", 151 | "body": ["print!(\"${1}\");"], 152 | "description": "print!(…);" 153 | }, 154 | "println": { 155 | "prefix": "println", 156 | "body": ["println!(\"${1}\");"], 157 | "description": "println!(…);" 158 | }, 159 | "stringify": { 160 | "prefix": "stringify", 161 | "body": ["stringify!(${1})"], 162 | "description": "stringify!(…)" 163 | }, 164 | "thread_local": { 165 | "prefix": "thread_local", 166 | "body": ["thread_local!(static ${1:STATIC}: ${2:Type} = ${4:init});"], 167 | "description": "thread_local!(static …: … = …);" 168 | }, 169 | "try": { 170 | "prefix": "try", 171 | "body": ["try!(${1})"], 172 | "description": "try!(…)" 173 | }, 174 | "unimplemented": { 175 | "prefix": "unimplemented", 176 | "body": ["unimplemented!()"], 177 | "description": "unimplemented!()" 178 | }, 179 | "unreachable": { 180 | "prefix": "unreachable", 181 | "body": ["unreachable!(${1})"], 182 | "description": "unreachable!(…)" 183 | }, 184 | "vec": { 185 | "prefix": "vec", 186 | "body": ["vec![${1}]"], 187 | "description": "vec![…]" 188 | }, 189 | "write": { 190 | "prefix": "write", 191 | "body": ["write!(${1}, \"${2}\")"], 192 | "description": "write!(…)" 193 | }, 194 | "writeln": { 195 | "prefix": "writeln", 196 | "body": ["writeln!(${1}, \"${2}\")"], 197 | "description": "writeln!(…, …)" 198 | }, 199 | "Err": { 200 | "prefix": "Err", 201 | "body": ["Err(${1})"], 202 | "description": "Err(…)" 203 | }, 204 | "Ok": { 205 | "prefix": "Ok", 206 | "body": ["Ok(${1:result})"], 207 | "description": "Ok(…)" 208 | }, 209 | "Some": { 210 | "prefix": "Some", 211 | "body": ["Some(${1})"], 212 | "description": "Some(…)" 213 | }, 214 | "assert": { 215 | "prefix": "assert", 216 | "body": ["assert!(${1});"], 217 | "description": "assert!(…);" 218 | }, 219 | "assert_eq": { 220 | "prefix": "assert_eq", 221 | "body": ["assert_eq!(${1}, ${2});"], 222 | "description": "assert_eq!(…, …);" 223 | }, 224 | "bench": { 225 | "prefix": "bench", 226 | "body": [ 227 | "#[bench]", 228 | "fn ${1:name}(b: &mut test::Bencher) {", 229 | " ${2:b.iter(|| ${3:/* benchmark code */})}", 230 | "}" 231 | ], 232 | "description": "#[bench]" 233 | }, 234 | "const": { 235 | "prefix": "const", 236 | "body": ["const ${1:CONST}: ${2:Type} = ${4:init};"], 237 | "description": "const …: … = …;" 238 | }, 239 | "derive": { 240 | "prefix": "derive", 241 | "body": ["#[derive(${1})]"], 242 | "description": "#[derive(…)]" 243 | }, 244 | "else": { 245 | "prefix": "else", 246 | "body": ["else {", " ${1:todo!();}", "}"], 247 | "description": "else { … }" 248 | }, 249 | "enum": { 250 | "prefix": "enum", 251 | "body": [ 252 | "#[derive(Debug)]", 253 | "enum ${1:Name} {", 254 | " ${2:Variant1},", 255 | " ${3:Variant2},", 256 | "}" 257 | ], 258 | "description": "enum … { … }" 259 | }, 260 | "extern-crate": { 261 | "prefix": "extern-crate", 262 | "body": ["extern crate ${1:name};"], 263 | "description": "extern crate …;" 264 | }, 265 | "extern-fn": { 266 | "prefix": "extern-fn", 267 | "body": [ 268 | "extern \"C\" fn ${1:name}(${2:arg}: ${3:Type}) -> ${4:RetType} {", 269 | " ${5:// add code here}", 270 | "}" 271 | ], 272 | "description": "extern \"C\" fn …(…) { … }" 273 | }, 274 | "extern-mod": { 275 | "prefix": "extern-mod", 276 | "body": ["extern \"C\" {", " ${2:// add code here}", "}"], 277 | "description": "extern \"C\" { … }" 278 | }, 279 | "pfn": { 280 | "prefix": "pfn", 281 | "body": [ 282 | "pub fn ${1:name}(${2:arg}: ${3:Type}) -> ${4:RetType} {", 283 | " ${5:todo!();}", 284 | "}" 285 | ], 286 | "description": "pub fn …(…) { … }" 287 | }, 288 | "fn": { 289 | "prefix": "fn", 290 | "body": [ 291 | "fn ${1:name}(${2:arg}: ${3:Type}) -> ${4:RetType} {", 292 | " ${5:todo!();}", 293 | "}" 294 | ], 295 | "description": "fn …(…) { … }" 296 | }, 297 | "for": { 298 | "prefix": "for", 299 | "body": ["for ${1:pat} in ${2:expr} {", " ${3:todo!();}", "}"], 300 | "description": "for … in … { … }" 301 | }, 302 | "if-let": { 303 | "prefix": "if-let", 304 | "body": ["if let ${1:Some(pat)} = ${2:expr} {", " ${0:todo!();}", "}"], 305 | "description": "if let … = … { … }" 306 | }, 307 | "if": { 308 | "prefix": "if", 309 | "body": ["if ${1:condition} {", " ${2:todo!();}", "}"], 310 | "description": "if … { … }" 311 | }, 312 | "impl-trait": { 313 | "prefix": "impl-trait", 314 | "body": [ 315 | "impl ${1:Trait} for ${2:Type} {", 316 | " ${3:// add code here}", 317 | "}" 318 | ], 319 | "description": "impl … for … { … }" 320 | }, 321 | "impl": { 322 | "prefix": "impl", 323 | "body": ["impl ${1:Type} {", " ${2:// add code here}", "}"], 324 | "description": "impl … { … }" 325 | }, 326 | "inline-fn": { 327 | "prefix": "inline-fn", 328 | "body": ["#[inline]", "pub fn ${1:name}() {", " ${2:todo!();}", "}"], 329 | "description": "inlined function" 330 | }, 331 | "let": { 332 | "prefix": "let", 333 | "body": ["let ${1:pat} = ${2:expr};"], 334 | "description": "let … = …;" 335 | }, 336 | "loop": { 337 | "prefix": "loop", 338 | "body": ["loop {", " ${2:todo!();}", "}"], 339 | "description": "loop { … }" 340 | }, 341 | "macro_rules": { 342 | "prefix": "macro_rules", 343 | "body": ["macro_rules! ${1:name} {", " (${2}) => (${3})", "}"], 344 | "description": "macro_rules! … { … }" 345 | }, 346 | "main": { 347 | "prefix": "main", 348 | "body": ["fn main() {", " ${1:todo!();}", "}"], 349 | "description": "fn main() { … }" 350 | }, 351 | "match": { 352 | "prefix": "match", 353 | "body": ["match ${1:expr} {}"], 354 | "description": "match … { … }" 355 | }, 356 | "mod": { 357 | "prefix": "mod", 358 | "body": ["mod ${1:name};"], 359 | "description": "mod …;" 360 | }, 361 | "mod-block": { 362 | "prefix": "mod-block", 363 | "body": ["mod ${1:name} {", " ${2:// add code here}", "}"], 364 | "description": "mod … { … }" 365 | }, 366 | "static": { 367 | "prefix": "static", 368 | "body": ["static ${1:STATIC}: ${2:Type} = ${4:init};"], 369 | "description": "static …: … = …;" 370 | }, 371 | "struct-tuple": { 372 | "prefix": "struct-tuple", 373 | "body": ["struct ${1:Name}(${2:Type});"], 374 | "description": "struct …(…);" 375 | }, 376 | "struct-unit": { 377 | "prefix": "struct-unit", 378 | "body": ["struct ${1:Name};"], 379 | "description": "struct …;" 380 | }, 381 | "struct": { 382 | "prefix": "struct", 383 | "body": [ 384 | "#[derive(Debug)]", 385 | "struct ${1:Name} {", 386 | " ${2:field}: ${3:Type}", 387 | "}" 388 | ], 389 | "description": "struct … { … }" 390 | }, 391 | "modtest": { 392 | "prefix": "modtest", 393 | "body": [ 394 | "#[cfg(test)]", 395 | "mod test {", 396 | " #[test]", 397 | " fn ${1:name}() {", 398 | " ${2:todo!();}", 399 | " }", 400 | "}" 401 | ], 402 | "description": "#[cfg(test)]\nmod test {...}" 403 | }, 404 | "test": { 405 | "prefix": "test", 406 | "body": ["#[test]", "fn ${1:name}() {", " ${2:todo!();}", "}"], 407 | "description": "#[test]" 408 | }, 409 | "trait": { 410 | "prefix": "trait", 411 | "body": ["trait ${1:Name} {", " ${2:// add code here}", "}", ""], 412 | "description": "trait … { … }" 413 | }, 414 | "type": { 415 | "prefix": "type", 416 | "body": ["type ${1:Alias} = ${2:Type};"], 417 | "description": "type … = …;" 418 | }, 419 | "while-let": { 420 | "prefix": "while-let", 421 | "body": [ 422 | "while let ${1:Some(pat)} = ${2:expr} {", 423 | " ${0:todo!();}", 424 | "}" 425 | ], 426 | "description": "while let … = … { … }" 427 | }, 428 | "while": { 429 | "prefix": "while", 430 | "body": ["while ${1:condition} {", " ${2:todo!();}", "}"], 431 | "description": "while … { … }" 432 | } 433 | } 434 | -------------------------------------------------------------------------------- /.config/nvim/snippets/sql.json: -------------------------------------------------------------------------------- 1 | { 2 | "INTEGER NOT NULL": { 3 | "prefix": "int", 4 | "body": ["INTEGER NOT NULL"] 5 | }, 6 | "VARCHAR NOT NULL": { 7 | "prefix": "varchar", 8 | "body": ["VARCHAR($1) NOT NULL$0"] 9 | }, 10 | "BOOLEAN NOT NULL": { 11 | "prefix": "bool", 12 | "body": ["BOOLEAN NOT NULL"] 13 | }, 14 | "REAL NOT NULL": { 15 | "prefix": "real", 16 | "body": ["REAL NOT NULL"] 17 | }, 18 | "SERIAL PRIMARY KEY": { 19 | "prefix": "srk", 20 | "body": ["SERIAL PRIMARY KEY"] 21 | }, 22 | "FOREIGN KEY": { 23 | "prefix": "fgk", 24 | "body": [ 25 | "FOREIGN KEY (${1:attribute}) REFERENCES ${2:tableName}(${3:attribute}) ON DELETE RESTRICT" 26 | ], 27 | "description": "Foreign Key" 28 | }, 29 | "CREATE TABLE": { 30 | "prefix": "ctt", 31 | "body": ["CREATE TABLE ${1:tableName} (", "\t${2:attribute(s)}", ");"], 32 | "description": "Create regular table" 33 | }, 34 | "CREATE TYPE": { 35 | "prefix": "cte", 36 | "body": [ 37 | "CREATE TYPE ${1:typeName} AS ENUM (", 38 | "\t${2:attribute(s)}", 39 | ");" 40 | ], 41 | "description": "Create type enum" 42 | }, 43 | "INSERT": { 44 | "prefix": "ins", 45 | "body": [ 46 | "INSERT INTO ${1:tableName} (", 47 | "\t${2:attribute(s)}", 48 | ") VALUES ( ${3:values} )" 49 | ], 50 | "description": "Insert value(s)" 51 | }, 52 | "DROP TABLE": { 53 | "prefix": "dpt", 54 | "body": ["DROP TABLE ${1:tableName};"], 55 | "description": "Drop table" 56 | }, 57 | "DROP TYPE": { 58 | "prefix": "dpe", 59 | "body": ["DROP TYPE ${1:typeNAme};"], 60 | "description": "Drop type enum" 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /.config/rofi/config.rasi: -------------------------------------------------------------------------------- 1 | @import "~/.config/rofi/master_config.rasi" 2 | 3 | /* ---- Configuration ---- */ 4 | configuration { 5 | font: "Maple Mono Regular 12"; 6 | } 7 | 8 | element-text { 9 | font: "Maple Mono Regular 14"; 10 | } 11 | -------------------------------------------------------------------------------- /.config/rofi/config_calculator.rasi: -------------------------------------------------------------------------------- 1 | @import "~/.config/rofi/config.rasi" 2 | 3 | entry { 4 | width: 27%; 5 | placeholder: "🧮 Calculate"; 6 | } 7 | 8 | window { 9 | width: 30%; 10 | } 11 | -------------------------------------------------------------------------------- /.config/rofi/config_clipboard.rasi: -------------------------------------------------------------------------------- 1 | @import "~/.config/rofi/config.rasi" 2 | 3 | entry { 4 | width: 37%; 5 | placeholder: "📝 Search Clipboard"; 6 | } 7 | 8 | listview { 9 | columns: 1; 10 | lines: 12; 11 | } 12 | -------------------------------------------------------------------------------- /.config/rofi/config_emoji.rasi: -------------------------------------------------------------------------------- 1 | @import "~/.config/rofi/config.rasi" 2 | 3 | entry { 4 | width: 37%; 5 | placeholder: "💫 Search Emoji's"; 6 | } 7 | 8 | listview { 9 | columns: 1; 10 | lines: 8; 11 | } 12 | -------------------------------------------------------------------------------- /.config/rofi/master_config.rasi: -------------------------------------------------------------------------------- 1 | configuration { 2 | modi: "drun,run,filebrowser"; 3 | show-icons: true; 4 | terminal: "kitty"; 5 | drun-display-format: "{icon} {name}"; 6 | location: 0; 7 | disable-history: false; 8 | hide-scrollbar: true; 9 | display-drun: "  Apps "; 10 | display-run: "  Run "; 11 | display-window: " 﩯 Window"; 12 | display-filebrowser: " 󰝰 Filebrowser"; 13 | sidebar-mode: true; 14 | } 15 | 16 | @theme "~/.config/rofi/oldworld.rasi" 17 | -------------------------------------------------------------------------------- /.config/rofi/oldworld.rasi: -------------------------------------------------------------------------------- 1 | * { 2 | bg-col: #161617; 3 | bg-col-light: #161617; 4 | border-col: #3b3b3e; 5 | selected-col: #2a2a2c; 6 | blue: #92a2d5; 7 | fg-col: #c9c7cd; 8 | fg-col2: #c9c7cd; 9 | grey: #8b8693; 10 | width: 800; 11 | } 12 | 13 | element-text, element-icon , mode-switcher { 14 | background-color: inherit; 15 | text-color: inherit; 16 | } 17 | 18 | window { 19 | height: 360px; 20 | border: 2px; 21 | border-radius: 14px; 22 | border-color: @border-col; 23 | background-color: @bg-col; 24 | } 25 | 26 | mainbox { 27 | background-color: @bg-col; 28 | } 29 | 30 | inputbar { 31 | children: [prompt,entry]; 32 | background-color: @bg-col; 33 | border-radius: 5px; 34 | padding: 2px; 35 | } 36 | 37 | prompt { 38 | background-color: @blue; 39 | padding: 6px; 40 | text-color: @bg-col; 41 | border-radius: 3px; 42 | margin: 20px 0px 0px 20px; 43 | } 44 | 45 | textbox-prompt-colon { 46 | expand: false; 47 | str: ":"; 48 | } 49 | 50 | entry { 51 | padding: 6px; 52 | margin: 20px 0px 0px 10px; 53 | text-color: @fg-col; 54 | background-color: @bg-col; 55 | } 56 | 57 | listview { 58 | border: 0px 0px 0px; 59 | padding: 6px 0px 0px; 60 | margin: 10px 0px 0px 20px; 61 | columns: 2; 62 | lines: 5; 63 | background-color: @bg-col; 64 | } 65 | 66 | element { 67 | padding: 5px; 68 | background-color: @bg-col; 69 | text-color: @fg-col ; 70 | } 71 | 72 | element-icon { 73 | size: 25px; 74 | } 75 | 76 | element selected { 77 | background-color: @selected-col; 78 | text-color: @fg-col2 ; 79 | } 80 | 81 | mode-switcher { 82 | spacing: 0; 83 | } 84 | 85 | button { 86 | padding: 10px; 87 | background-color: @bg-col-light; 88 | text-color: @grey; 89 | vertical-align: 0.5; 90 | horizontal-align: 0.5; 91 | } 92 | 93 | button selected { 94 | background-color: @bg-col; 95 | text-color: @blue; 96 | } 97 | 98 | message { 99 | background-color: @bg-col-light; 100 | margin: 2px; 101 | padding: 2px; 102 | border-radius: 5px; 103 | } 104 | 105 | textbox { 106 | padding: 6px; 107 | margin: 20px 0px 0px 20px; 108 | text-color: @blue; 109 | background-color: @bg-col-light; 110 | } 111 | -------------------------------------------------------------------------------- /.config/starship.toml: -------------------------------------------------------------------------------- 1 | format = """$directory$git_branch$ruby$php$kotlin$java$golang$c$nodejs$rust$lua$python$character""" 2 | 3 | palette = "oldworld" 4 | 5 | [character] 6 | success_symbol = '[](bold blue) ' 7 | error_symbol = '[󰅙](bold red) ' 8 | vimcmd_symbol = '[󰰫](bold green) ' 9 | vimcmd_replace_one_symbol = '[󰰫](bold purple) ' 10 | vimcmd_replace_symbol = '[󰰫](bold purple) ' 11 | vimcmd_visual_symbol = '[󰰫](bold yellow) ' 12 | 13 | [hostname] 14 | disabled = true 15 | 16 | [cmd_duration] 17 | min_time = 1 18 | format = "(fg:bg bg:bg)[](fg:purple bg:bg)[ $duration](fg:bg bg:purple)[](fg:purple bg:none) " 19 | disabled = true 20 | style = "fg:purple bg:bg" 21 | 22 | [directory] 23 | format = "(fg:bg bg:bg)[](fg:magenta bg:bg)[ $path](fg:bg bg:magenta italic)[](fg:magenta bg:none) " 24 | style = "fg:#d9d7d6 bg:bg" 25 | truncation_length = 2 26 | truncate_to_repo = true 27 | 28 | [package] 29 | disabled = true 30 | 31 | [git_branch] 32 | format = "(fg:bg bg:bg)[](fg:yellow bg:bg)[ $branch](fg:bg bg:yellow)[](fg:yellow bg:none) " 33 | style = "fg:yellow bg:bg" 34 | 35 | [python] 36 | format = "(fg:bg bg:bg)[](fg:green bg:bg)[${symbol}${pyenv_prefix}(${version})( - ${virtualenv})](fg:bg bg:green)[](fg:green bg:none) " 37 | style = "fg:green bg:bg" 38 | symbol = '󰌠 ' 39 | 40 | [lua] 41 | format = "(fg:bg bg:bg)[](fg:blue bg:bg)[$symbol$version](fg:bg bg:blue)[](fg:blue bg:none) " 42 | style = "fg:blue bg:bg" 43 | symbol = ' ' 44 | 45 | [rust] 46 | format = "(fg:bg bg:bg)[](fg:red bg:bg)[$symbol$version](fg:bg bg:red)[](fg:red bg:none) " 47 | style = "fg:red bg:bg" 48 | symbol = ' ' 49 | 50 | [nodejs] 51 | format = "(fg:bg bg:bg)[](fg:green bg:bg)[$symbol$version](fg:bg bg:green)[](fg:green bg:none) " 52 | style = "fg:green bg:bg" 53 | symbol = '󰎙 ' 54 | 55 | [c] 56 | format = "(fg:bg bg:bg)[](fg:cyan bg:bg)[$symbol$version-$name](fg:bg bg:cyan)[](fg:cyan bg:none) " 57 | style = "fg:cyan bg:bg" 58 | symbol = ' ' 59 | 60 | [golang] 61 | format = "(fg:bg bg:bg)[](fg:blue bg:bg)[$symbol$version-$name](fg:bg bg:blue)[](fg:blue bg:none) " 62 | style = "fg:blue bg:bg" 63 | symbol = ' ' 64 | 65 | [java] 66 | format = "(fg:bg bg:bg)[](fg:orange bg:bg)[$symbol$version-$name](fg:bg bg:orange)[](fg:orange bg:none) " 67 | style = "fg:orange bg:bg" 68 | symbol = ' ' 69 | 70 | [kotlin] 71 | format = "(fg:bg bg:bg)[](fg:#orange bg:bg)[$symbol$version-$name](fg:bg bg:#orange)[](fg:#orange bg:none) " 72 | style = "fg:#orange bg:bg" 73 | symbol = ' ' 74 | 75 | [php] 76 | format = "(fg:bg bg:bg)[](fg:blue bg:bg)[$symbol$version](fg:bg bg:blue)[](fg:blue bg:none) " 77 | style = "fg:blue bg:bg" 78 | symbol = '󰟆 ' 79 | 80 | [ruby] 81 | format = "(fg:bg bg:bg)[](fg:yellow bg:bg)[$symbol$version-$name](fg:bg bg:yellow)[](fg:yellow bg:none) " 82 | style = "fg:yellow bg:bg" 83 | symbol = ' ' 84 | 85 | [palettes.oldworld] 86 | magenta = "#e29eca" 87 | purple = "#aca1cf" 88 | red = "#ea83a5" 89 | orange = "#f5a191" 90 | yellow = "#e6b99d" 91 | green = "#90b99f" 92 | cyan = "#85b5ba" 93 | blue = "#92a2d5" 94 | fg = "#c9c7cd" 95 | bg = "#161617" 96 | -------------------------------------------------------------------------------- /.config/waybar/config: -------------------------------------------------------------------------------- 1 | { 2 | "layer": "top", 3 | "margin-top": 10, 4 | "margin-bottom": 0, 5 | "margin-left":10, 6 | "margin-right":10, 7 | 8 | "modules-left": ["cpu","memory","temperature", "bluetooth"], 9 | "modules-center": ["hyprland/workspaces"], 10 | "modules-right": ["network","pulseaudio", "battery","clock"], 11 | 12 | "pulseaudio": { 13 | "tooltip": false, 14 | "scroll-step": 5, 15 | "format": "{icon} {volume}%", 16 | "format-muted": "{icon} {volume}%", 17 | "on-click":"pactl set-sink-mute @DEFAULT_SINK@ toggle", 18 | "format-icons": { 19 | "default": [ 20 | "󰕿", 21 | "󰖀", 22 | "󰕾" 23 | ] 24 | } 25 | }, 26 | "hyprland/workspaces": { 27 | "disable-scroll": true, 28 | "on-click": "activate", 29 | "all-outputs": true, 30 | "active-only": false, 31 | "persistent-workspaces": { 32 | "1": [], 33 | "2": [], 34 | "3": [], 35 | "4": [], 36 | "5": [], 37 | "6": [], 38 | }, 39 | "format": "{icon}", 40 | "format-icons": { 41 | "active": "󰮯", 42 | "empty": "", 43 | "persistent": "󰊠", 44 | }, 45 | }, 46 | 47 | "network": { 48 | "format-wifi": "{icon} {bandwidthDownBits}", 49 | "format-ethernet": "", 50 | "interval": 30, 51 | 52 | "format-icons": [ 53 | "󰤯", 54 | "󰤟", 55 | "󰤢", 56 | "󰤥", 57 | "󰤨" 58 | ] 59 | }, 60 | 61 | "battery": { 62 | "states": { 63 | "good": 95, 64 | "warning": 30, 65 | "critical": 10 66 | }, 67 | "format": "{icon} {capacity}%", 68 | "format-charging": "󰂅 {capacity}%", 69 | "format-plugged": "󰂅 {capacity}%", 70 | "format-alt": "{time} {icon}", 71 | "format-icons": [ 72 | "󰁻", 73 | "󰁽", 74 | "󰁿", 75 | "󰂁", 76 | "󰁹" 77 | ] 78 | }, 79 | 80 | "clock": { 81 | "interval": 60, 82 | "format": "{:%H:%M | %a, %b %d}", 83 | }, 84 | 85 | "cpu": { 86 | "interval": 15, 87 | "format": "󰍛 {}%", 88 | "max-length": 10 89 | }, 90 | "temperature": { 91 | "interval": 20, 92 | "format": " {}°C", 93 | "max-length": 10 94 | }, 95 | 96 | "memory": { 97 | "interval": 10, 98 | "format": " {used}GiB", 99 | "max-length": 13 100 | }, 101 | "bluetooth": { 102 | "format": "󰂯 Connecting...", 103 | "format-disabled": "󰂲 Off", 104 | "format-connected": "󰂱 {device_alias}", 105 | "on-click": "rfkill toggle bluetooth", 106 | }, 107 | } 108 | -------------------------------------------------------------------------------- /.config/waybar/oldworld.css: -------------------------------------------------------------------------------- 1 | @define-color magenta #e29eca; 2 | @define-color purple #aca1cf; 3 | @define-color red #ea83a5; 4 | @define-color orange #f5a191; 5 | @define-color yellow #e6b99d; 6 | @define-color green #90b99f; 7 | @define-color cyan #85b5ba; 8 | @define-color blue #92a2d5; 9 | @define-color fg #c9c7cd; 10 | @define-color bg #161617; 11 | @define-color bg-dark #110e1c; 12 | @define-color bg-light #222224; 13 | -------------------------------------------------------------------------------- /.config/waybar/style.css: -------------------------------------------------------------------------------- 1 | @import "oldworld.css"; 2 | 3 | * { 4 | border: none; 5 | font-family: "Maple Mono"; 6 | font-feature-settings: "zero"; 7 | font-size: 15px; 8 | min-height: 10px; 9 | } 10 | 11 | window#waybar { 12 | background-color: @bg; 13 | margin-top: 6px; 14 | border-radius: 10px; 15 | } 16 | 17 | window#waybar.hidden { 18 | opacity: 0.2; 19 | } 20 | 21 | #window { 22 | transition: none; 23 | color: transparent; 24 | border-radius: 10px; 25 | background: transparent; 26 | } 27 | 28 | #workspaces { 29 | margin: 6px 6px 6px 6px; 30 | border-radius: 18px; 31 | background: @bg-light; 32 | transition: none; 33 | padding-left: 12px; 34 | padding-right: 6px; 35 | } 36 | 37 | #workspaces button { 38 | transition: none; 39 | color: @cyan; 40 | background: transparent; 41 | margin-right: 10px; 42 | } 43 | 44 | #workspaces button.persistent { 45 | transition: none; 46 | color: @purple; 47 | background: transparent; 48 | font-size: 4px; 49 | } 50 | 51 | #workspaces button.empty { 52 | color: @magenta; 53 | font-size: 2px; 54 | transition: none; 55 | background: transparent; 56 | } 57 | 58 | #workspaces button.active { 59 | transition: none; 60 | color: @yellow; 61 | background: transparent; 62 | font-size: 4px; 63 | } 64 | 65 | #network { 66 | margin-top: 6px; 67 | margin-left: 8px; 68 | padding-left: 10px; 69 | padding-right: 10px; 70 | margin-bottom: 6px; 71 | font-size: 14px; 72 | font-weight: bold; 73 | transition: none; 74 | color: @yellow; 75 | } 76 | 77 | #pulseaudio { 78 | margin-top: 6px; 79 | margin-left: 8px; 80 | padding-left: 10px; 81 | padding-right: 10px; 82 | margin-bottom: 6px; 83 | font-size: 14px; 84 | font-weight: bold; 85 | transition: none; 86 | color: @blue; 87 | } 88 | 89 | #battery { 90 | margin-top: 6px; 91 | margin-left: 8px; 92 | padding-left: 10px; 93 | padding-right: 10px; 94 | margin-bottom: 6px; 95 | font-size: 14px; 96 | font-weight: bold; 97 | color: @green; 98 | } 99 | 100 | #battery.charging, 101 | #battery.plugged { 102 | color: @green; 103 | } 104 | 105 | #battery.critical:not(.charging) { 106 | color: @red; 107 | animation-name: blink; 108 | animation-duration: 0.5s; 109 | animation-timing-function: linear; 110 | animation-iteration-count: infinite; 111 | animation-direction: alternate; 112 | } 113 | 114 | @keyframes blink { 115 | to { 116 | color: @red; 117 | } 118 | } 119 | 120 | #clock { 121 | margin-top: 6px; 122 | margin-left: 8px; 123 | padding-left: 12px; 124 | padding-right: 17px; 125 | margin-right: 10px; 126 | margin-bottom: 6px; 127 | font-size: 14px; 128 | font-weight: bold; 129 | color: @fg; 130 | } 131 | 132 | #memory { 133 | margin-top: 6px; 134 | margin-left: 8px; 135 | padding-left: 12px; 136 | padding-right: 12px; 137 | margin-right: 10px; 138 | margin-bottom: 6px; 139 | font-size: 14px; 140 | font-weight: bold; 141 | color: @cyan; 142 | } 143 | 144 | #temperature { 145 | margin-top: 6px; 146 | margin-left: 8px; 147 | padding-left: 12px; 148 | padding-right: 12px; 149 | margin-right: 10px; 150 | margin-bottom: 6px; 151 | font-size: 14px; 152 | font-weight: bold; 153 | color: @orange; 154 | } 155 | 156 | #cpu { 157 | margin-top: 6px; 158 | margin-left: 17px; 159 | padding-left: 10px; 160 | margin-bottom: 6px; 161 | padding-right: 10px; 162 | font-size: 14px; 163 | font-weight: bold; 164 | color: @red; 165 | } 166 | 167 | #bluetooth { 168 | margin-top: 6px; 169 | margin-left: 8px; 170 | padding-left: 10px; 171 | margin-bottom: 6px; 172 | padding-right: 10px; 173 | font-size: 14px; 174 | font-weight: bold; 175 | color: @purple; 176 | } 177 | -------------------------------------------------------------------------------- /.config/zathura/oldworld: -------------------------------------------------------------------------------- 1 | set default-fg "#c9c7cd" 2 | set default-bg "#161617" 3 | 4 | set completion-bg "#1b1b1c" 5 | set completion-fg "#c9c7cd" 6 | set completion-highlight-bg "#313134" 7 | set completion-highlight-fg "#c9c7cd" 8 | set completion-group-bg "#1b1b1c" 9 | set completion-group-fg "#92a2d5" 10 | 11 | set statusbar-fg "#c9c7cd" 12 | set statusbar-bg "#1b1b1c" 13 | 14 | set notification-bg "#1b1b1c" 15 | set notification-fg "#c9c7cd" 16 | set notification-error-bg "#1b1b1c" 17 | set notification-error-fg "#ea83a5" 18 | set notification-warning-bg "#1b1b1c" 19 | set notification-warning-fg "#f5a191" 20 | 21 | set inputbar-fg "#c9c7cd" 22 | set inputbar-bg "#1b1b1c" 23 | 24 | set recolor-lightcolor "#161617" 25 | set recolor-darkcolor "#c9c7cd" 26 | 27 | set index-fg "#c9c7cd" 28 | set index-bg "#161617" 29 | set index-active-fg "#c9c7cd" 30 | set index-active-bg "#1b1b1c" 31 | 32 | set render-loading-bg "#161617" 33 | set render-loading-fg "#c9c7cd" 34 | 35 | set highlight-color "#313134" 36 | set highlight-fg "#e29eca" 37 | set highlight-active-color "#e29eca" 38 | -------------------------------------------------------------------------------- /.config/zathura/zathurarc: -------------------------------------------------------------------------------- 1 | include oldworld 2 | set selection-clipboard clipboard 3 | 4 | set synctex true 5 | set synctex-editor-command "code -g %{input}:%{line}" 6 | -------------------------------------------------------------------------------- /.config/zsh/.zshrc: -------------------------------------------------------------------------------- 1 | [ -f "$HOME/.local/share/zap/zap.zsh" ] && source "$HOME/.local/share/zap/zap.zsh" 2 | DISABLE_AUTO_TITLE="true" 3 | 4 | # source 5 | plug "$HOME/.config/zsh/configs/aliases.zsh" 6 | plug "$HOME/.config/zsh/configs/exports.zsh" 7 | plug "$HOME/.config/zsh/configs/colors_oldworld.zsh" 8 | 9 | 10 | HISTFILE=~/.histfile 11 | HISTSIZE=1000000 12 | SAVEHIST=1000000 13 | setopt HIST_IGNORE_ALL_DUPS 14 | setopt HIST_FIND_NO_DUPS 15 | precmd () {print -Pn "\e]0;%~\a"} 16 | 17 | plug "zsh-users/zsh-autosuggestions" 18 | plug "zsh-users/zsh-syntax-highlighting" 19 | plug "softmoth/zsh-vim-mode" 20 | 21 | autoload -U up-line-or-beginning-search 22 | autoload -U down-line-or-beginning-search 23 | zle -N up-line-or-beginning-search 24 | zle -N down-line-or-beginning-search 25 | bindkey "^[[A" up-line-or-beginning-search 26 | bindkey "^[[B" down-line-or-beginning-search 27 | -------------------------------------------------------------------------------- /.config/zsh/configs/aliases.zsh: -------------------------------------------------------------------------------- 1 | alias g='lazygit' 2 | alias df='df -h' # human-readable sizes 3 | alias free='free -h' # show sizes in MB 4 | alias cs="clear" 5 | alias mkdir="mkdir -pv" 6 | alias v="nvim" 7 | alias csn="cs && fastfetch" 8 | alias ..="cd .." 9 | alias ...="cd ../.." 10 | alias lh="eza -l --color=always --icons --group-directories-first --octal-permissions --no-permissions" 11 | alias lah="eza -al --color=always --icons --group-directories-first --octal-permissions --no-permissions" 12 | alias ls="eza --color=always --icons --group-directories-first" 13 | alias las="eza -a --color=always --icons --group-directories-first" 14 | alias lt="eza -T --color=always --icons --group-directories-first" 15 | alias lat="eza -aT --color=always --icons --group-directories-first" 16 | alias du="dust -b" 17 | 18 | alias glog='git log --graph --decorate --oneline' 19 | 20 | # Django 21 | alias djrun='python manage.py runserver' 22 | alias djmkm='python manage.py makemigrations' 23 | alias djmig='python manage.py migrate' 24 | 25 | # Start services 26 | alias spsql='sudo systemctl start postgresql.service' 27 | alias sdocker='sudo systemctl start docker' 28 | -------------------------------------------------------------------------------- /.config/zsh/configs/colors_catppuccin.zsh: -------------------------------------------------------------------------------- 1 | ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor) 2 | typeset -gA ZSH_HIGHLIGHT_STYLES 3 | 4 | ZSH_HIGHLIGHT_STYLES[comment]='fg=#585b70' 5 | ZSH_HIGHLIGHT_STYLES[alias]='fg=#a6e3a1,bold' 6 | ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#a6e3a1' 7 | ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#a6e3a1' 8 | ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1' 9 | ZSH_HIGHLIGHT_STYLES[command]='fg=#a6e3a1,bold' 10 | ZSH_HIGHLIGHT_STYLES[precommand]='fg=#a6e3a1,italic' 11 | ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#cba6f7,italic' 12 | ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#cba6f7' 13 | ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#cba6f7' 14 | ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#cba6f7' 15 | ZSH_HIGHLIGHT_STYLES[builtin]='fg=#a6e3a1' 16 | ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#a6e3a1' 17 | ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#a6e3a1' 18 | ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#89b4fa' 19 | ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#cdd6f4' 20 | ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#cdd6f4' 21 | ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#cdd6f4' 22 | ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#89b4fa' 23 | ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#89b4fa' 24 | ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#89b4fa' 25 | ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#f9e2af' 26 | ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#f9e2af' 27 | ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#f9e2af' 28 | ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#f38ba8' 29 | ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#f9e2af' 30 | ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#f38ba8' 31 | ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#f9e2af' 32 | ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#cdd6f4' 33 | ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#f38ba8' 34 | ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#cdd6f4' 35 | ZSH_HIGHLIGHT_STYLES[assign]='fg=#cdd6f4' 36 | ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#cdd6f4' 37 | ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#cdd6f4' 38 | ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#f38ba8' 39 | ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4,underline' 40 | ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#89b4fa,underline' 41 | ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#cdd6f4,underline' 42 | ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#89b4fa,underline' 43 | ZSH_HIGHLIGHT_STYLES[globbing]='fg=#cdd6f4' 44 | ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#cba6f7' 45 | ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#f38ba8' 46 | ZSH_HIGHLIGHT_STYLES[redirection]='fg=#cdd6f4' 47 | ZSH_HIGHLIGHT_STYLES[arg0]='fg=#cdd6f4' 48 | ZSH_HIGHLIGHT_STYLES[default]='fg=#cdd6f4' 49 | ZSH_HIGHLIGHT_STYLES[cursor]='fg=#cdd6f4' 50 | -------------------------------------------------------------------------------- /.config/zsh/configs/colors_oldworld.zsh: -------------------------------------------------------------------------------- 1 | ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor) 2 | typeset -gA ZSH_HIGHLIGHT_STYLES 3 | 4 | ZSH_HIGHLIGHT_STYLES[comment]='fg=#57575f' 5 | ZSH_HIGHLIGHT_STYLES[alias]='fg=#90b99f,bold' 6 | ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#90b99f' 7 | ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#90b99f' 8 | ZSH_HIGHLIGHT_STYLES[function]='fg=#90b99f' 9 | ZSH_HIGHLIGHT_STYLES[command]='fg=#90b99f,bold' 10 | ZSH_HIGHLIGHT_STYLES[precommand]='fg=#90b99f,italic' 11 | ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#aca1cf,italic' 12 | ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#aca1cf' 13 | ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#aca1cf' 14 | ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#aca1cf' 15 | ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#57575f' 16 | ZSH_HIGHLIGHT_STYLES[builtin]='fg=#90b99f' 17 | ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#90b99f' 18 | ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#90b99f' 19 | ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#92a2d5' 20 | ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#c9c7cd' 21 | ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#c9c7cd' 22 | ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#c9c7cd' 23 | ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#92a2d5' 24 | ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#92a2d5' 25 | ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#92a2d5' 26 | ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#e6b99d' 27 | ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#e6b99d' 28 | ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#e6b99d' 29 | ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#f38ba8' 30 | ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#e6b99d' 31 | ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#f38ba8' 32 | ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#e6b99d' 33 | ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#c9c7cd' 34 | ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#f38ba8' 35 | ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#c9c7cd' 36 | ZSH_HIGHLIGHT_STYLES[assign]='fg=#c9c7cd' 37 | ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#c9c7cd' 38 | ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#c9c7cd' 39 | ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#f38ba8' 40 | ZSH_HIGHLIGHT_STYLES[path]='fg=#c9c7cd,underline' 41 | ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#92a2d5,underline' 42 | ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#c9c7cd,underline' 43 | ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#92a2d5,underline' 44 | ZSH_HIGHLIGHT_STYLES[globbing]='fg=#c9c7cd' 45 | ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#aca1cf' 46 | ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#f38ba8' 47 | ZSH_HIGHLIGHT_STYLES[redirection]='fg=#c9c7cd' 48 | ZSH_HIGHLIGHT_STYLES[arg0]='fg=#c9c7cd' 49 | ZSH_HIGHLIGHT_STYLES[default]='fg=#c9c7cd' 50 | ZSH_HIGHLIGHT_STYLES[cursor]='fg=#c9c7cd' 51 | -------------------------------------------------------------------------------- /.config/zsh/configs/exports.zsh: -------------------------------------------------------------------------------- 1 | export EDITOR="nvim" 2 | export SYSTEMD_EDITOR="nvim" 3 | export TERMINAL="kitty" 4 | export MANPAGER='nvim +Man!' 5 | export MANWIDTH=999 6 | export BAT_THEME="ansi" 7 | export KITTY_SHELL_INTEGRATION="enabled" 8 | export FZF_DEFAULT_OPTS=" \ 9 | --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ 10 | --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ 11 | --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8" 12 | #export PATH="$PATH:./node_modules/.bin" 13 | eval "$(zoxide init zsh)" 14 | eval "$(starship init zsh)" 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Dotfiles 2 | 3 | ![2024-09-09-122457_hyprshot](https://github.com/user-attachments/assets/b2ad723a-2fa7-43b7-8701-0cae35da2f4a) 4 | ![2024-09-09-123212_hyprshot](https://github.com/user-attachments/assets/3e7dc47d-7cf4-4912-9b92-066fe76b4974) 5 | -------------------------------------------------------------------------------- /wallpapers/pastel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgox16/dotfiles/396a5195130a4fa512a7130ceb3cdc55fcf5eb1b/wallpapers/pastel.jpg --------------------------------------------------------------------------------