feat(spf): add superfile file manager

This commit is contained in:
Stefan Imhoff
2024-04-25 17:52:58 +02:00
parent fa72f49e2e
commit 7ed04e5246
12 changed files with 427 additions and 1 deletions

View File

@@ -34,6 +34,7 @@
~/.config/sketchybar: sketchybar ~/.config/sketchybar: sketchybar
~/.config/skhd: skhd ~/.config/skhd: skhd
~/.config/starship.toml: prompt/starship.toml ~/.config/starship.toml: prompt/starship.toml
~/.config/superfile: superfile
~/.config/tmux/tmux-nerd-font-window-name.yml: tmux/tmux-nerd-font-window-name.yml ~/.config/tmux/tmux-nerd-font-window-name.yml: tmux/tmux-nerd-font-window-name.yml
~/.config/tmuxinator: tmuxinator ~/.config/tmuxinator: tmuxinator
~/.config/yabai: yabai ~/.config/yabai: yabai

10
superfile/config.toml Normal file
View File

@@ -0,0 +1,10 @@
# change your theme
theme = 'catpuccin'
#
# useless for now
footer_panel_list = ['processessssssssssss', 'metadata', 'clipboard']
#
# ==========PLUGINS========== #
#
# Show more detailed metadata, please install exiftool before enabling this plugin!
metadata = false

50
superfile/hotkeys.toml Normal file
View File

@@ -0,0 +1,50 @@
# Here is global, all global key cant conflicts with other hotkeys
quit = ['esc', 'q']
#
list_up = ['up', 'k']
list_down = ['down', 'j']
#
pinned_directory = ['ctrl+p', '']
#
close_file_panel = ['ctrl+w', '']
create_new_file_panel = ['ctrl+n', '']
#
next_file_panel = ['tab', 'L']
previous_file_panel = ['shift+left', 'H']
focus_on_process_bar = ['p', '']
focus_on_side_bar = ['b', '']
focus_on_meta_data = ['m', '']
#
change_panel_mode = ['v', '']
#
file_panel_directory_create = ['f', '']
file_panel_file_create = ['c', '']
file_panel_item_rename = ['r', '']
paste_item = ['ctrl+v', '']
extract_file = ['ctrl+e', '']
compress_file = ['ctrl+r', '']
toggle_dot_file = ['ctrl+h', '']
#
oepn_file_with_editor = ['e', '']
open_current_directory_with_editor = ['E', '']
#
# These hotkeys do not conflict with any other keys (including global hotkey)
cancel = ['ctrl+c', 'esc']
confirm = ['enter', '']
#
# Here is normal mode hotkey you can conflicts with other mode (cant conflicts with global hotkey)
delete_item = ['ctrl+d', '']
select_item = ['enter', 'l']
parent_directory = ['h', 'backspace']
copy_single_item = ['ctrl+c', '']
cut_single_item = ['ctrl+x', '']
search_bar = ['ctrl+f', '']
#
# Here is select mode hotkey you can conflicts with other mode (cant conflicts with global hotkey)
file_panel_select_mode_item_single_select = ['enter', 'l']
file_panel_select_mode_item_select_down = ['shift+down', 'J']
file_panel_select_mode_item_select_up = ['shift+up', 'K']
file_panel_select_mode_item_delete = ['ctrl+d', 'delete']
file_panel_select_mode_item_copy = ['ctrl+c', '']
file_panel_select_mode_item_cut = ['ctrl+x', '']
file_panel_select_all_item = ['ctrl+a', '']

View File

@@ -0,0 +1,60 @@
# Catpuccin
# Theme create by: https://github.com/AnshumanNeon
# Update by(sort by time):
#
# Thanks for all contributor!!
# If you want to make sidebar border display just set it same as sidebar background color
# ========= Border =========
file_panel_border = "#6c7086"
sidebar_border = "#1e1e2e"
footer_border = "#6c7086"
# ========= Border Active =========
file_panel_border_active = "#b4befe"
sidebar_border_active = "#f38ba8"
footer_border_active = "#a6e3a1"
modal_border_active = "#868686"
# ========= Background (bg) =========
full_screen_bg = "#1e1e2e"
file_panel_bg = "#1e1e2e"
sidebar_bg = "#1e1e2e"
footer_bg = "#1e1e2e"
modal_bg = "#1e1e2e"
# ========= Foreground (fg) =========
full_screen_fg = "#a6adc8"
file_panel_fg = "#a6adc8"
sidebar_fg = "#a6adc8"
footer_fg = "#a6adc8"
modal_fg = "#a6adc8"
# ========= Special Color =========
cursor = "#f5e0dc"
correct = "#a6e3a1"
error = "#f38ba8"
hint = "#73c7ec"
cancel = "#eba0ac"
# Gradient color can only have two color!
gradient_color = ["#89b4fa", "#cba6f7"]
# ========= File Panel Special Items =========
file_panel_top_directory_icon = "#a6e3a1"
file_panel_top_path = "#89b5fa"
file_panel_item_selected_fg = "#98D0FD"
file_panel_item_selected_bg = "#1e1e2e"
# ========= Sidebar Special Items =========
sidebar_title = "#74c7ec"
sidebar_item_selected_fg = "#A6DBF7"
sidebar_item_selected_bg = "#1e1e2e"
sidebar_divider = "#868686"
# ========= Modal Special Items =========
modal_cancel_fg = "#383838"
modal_cancel_bg = "#eba0ac"
modal_confirm_fg = "#383838"
modal_confirm_bg = "#89dceb"

View File

@@ -0,0 +1,60 @@
# Dracula
# Theme create by: https://github.com/BeanieBarrow
# Update by(sort by time):
#
# Thanks for all contributor!!
# If you want to make sidebar border display just set it same as sidebar background color
# ========= Border =========
file_panel_border = "#6272a4"
sidebar_border = "#282a36"
footer_border = "#6272a4"
# ========= Border Active =========
file_panel_border_active = "#44475a"
sidebar_border_active = "#44475a"
footer_border_active = "#44475a"
modal_border_active = "#44475a"
# ========= Background (bg) =========
full_screen_bg = "#282a36"
file_panel_bg = "#282a36"
sidebar_bg = "#282a36"
footer_bg = "#282a36"
modal_bg = "#282a36"
# ========= Foreground (fg) =========
full_screen_fg = "#f8f8f2"
file_panel_fg = "#f8f8f2"
sidebar_fg = "#f8f8f2"
footer_fg = "#f8f8f2"
modal_fg = "#f8f8f2"
# ========= Special Color =========
cursor = "#ff79c6"
correct = "#50fa7b"
error = "#ff5555"
hint = "#8be9fd"
cancel = "#6272a4"
# Gradient color can only have two color!
gradient_color = ["#50fa7b", "#ff5555"]
# ========= File Panel Special Items =========
file_panel_top_directory_icon = "#50fa7b"
file_panel_top_path = "#8be9fd"
file_panel_item_selected_fg = "#ffb86c"
file_panel_item_selected_bg = "#282a36"
# ========= Sidebar Special Items =========
sidebar_title = "#bd93f9"
sidebar_item_selected_fg = "#ffb86c"
sidebar_item_selected_bg = "#282a36"
sidebar_divider = "#868686"
# ========= Modal Special Items =========
modal_cancel_fg = "#f8f8f2"
modal_cancel_bg = "#6272a4"
modal_confirm_fg = "#f8f8f2"
modal_confirm_bg = "#ffb86c"

View File

@@ -0,0 +1,60 @@
# Gruvbox
# Theme create by: https://github.com/MHNightCat
# Update by(sort by time):
#
# Thanks for all contributor!!
# If you want to make border display just set it same as sidebar background color
# ========= Border =========
file_panel_border = "#868686"
sidebar_border = "#282828"
footer_border = "#868686"
# ========= Border Active =========
file_panel_border_active = "#FFF1C5"
sidebar_border_active = "#D79921"
footer_border_active = "#D79921"
modal_border_active = "#868686"
# ========= Background (bg) =========
full_screen_bg = "#282828"
file_panel_bg = "#282828"
sidebar_bg = "#282828"
footer_bg = "#282828"
modal_bg = "#282828"
# ========= Foreground (fg) =========
full_screen_fg = "#EBDBB2"
file_panel_fg = "#EBDBB2"
sidebar_fg = "#EBDBB2"
footer_fg = "#EBDBB2"
modal_fg = "#EBDBB2"
# ========= Special Color =========
cursor = "#8EC07C"
correct = "#8ec07c"
error = "#FF6969"
hint = "#468588"
cancel = "#838383"
# Gradient color can only have two color!
gradient_color = ["#689d6a", "#fb4934"]
# ========= File Panel Special Items =========
file_panel_top_directory_icon = "#8EC07C"
file_panel_top_path = "#458588"
file_panel_item_selected_fg = "#D3869B"
file_panel_item_selected_bg = "#282828"
# ========= Sidebar Special Items =========
sidebar_title = "#CC241D"
sidebar_item_selected_fg = "#E8751A"
sidebar_item_selected_bg = "#282828"
sidebar_divider = "#868686"
# ========= Modal Special Items =========
modal_cancel_fg = "#EBDBB2"
modal_cancel_bg = "#6D6D6D"
modal_confirm_fg = "#EBDBB2"
modal_confirm_bg = "#FF4D00"

View File

@@ -0,0 +1,60 @@
# Kaolin
# Theme create by: https://github.com/AnshumanNeon
# Update by(sort by time):
#
# Thanks for all contributor!!
# If you want to make border display just set it same as sidebar background color
# ========= Border =========
file_panel_border = "#74b09a"
sidebar_border = "#17171a"
footer_border = "#74b09a"
# ========= Border Active =========
file_panel_border_active = "#74b09a"
sidebar_border_active = "#57b2c2"
footer_border_active = "#57b2c2"
modal_border_active = "#868686"
# ========= Background (bg) =========
full_screen_bg = "#17171a"
file_panel_bg = "#17171a"
sidebar_bg = "#17171a"
footer_bg = "#17171a"
modal_bg = "#17171a"
# ========= Foreground (fg) =========
full_screen_fg = "#efefef"
file_panel_fg = "#efefef"
sidebar_fg = "#efefef"
footer_fg = "#efefef"
modal_fg = "#efefef"
# ========= Special Color =========
cursor = "#f5c791"
correct = "#74b09a"
error = "#c74a4d"
hint = "#4fa8a3"
cancel = "#d7936d"
# Gradient color can only have two color!
gradient_color = ["#74b09a", "#c74a4d"]
# ========= File Panel Special Items =========
file_panel_top_directory_icon = "#f5c791"
file_panel_top_path = "#d7936d"
file_panel_item_selected_fg = "#4fa8a3"
file_panel_item_selected_bg = "#17171a"
# ========= Sidebar Special Items =========
sidebar_title = "#f5c791"
sidebar_item_selected_fg = "#ba667d"
sidebar_item_selected_bg = "#17171a"
sidebar_divider = "#868686"
# ========= Modal Special Items =========
modal_cancel_fg = "#eedcc1"
modal_cancel_bg = "#c74a4d"
modal_confirm_fg = "#eedcc1"
modal_confirm_bg = "#3e594a"

60
superfile/theme/nord.toml Normal file
View File

@@ -0,0 +1,60 @@
# Nord
# Theme create by: https://github.com/rames-eltany
# Update by(sort by time):
#
# Thanks for all contributor!!
# If you want to make border display just set it same as sidebar background color
# ========= Border =========
file_panel_border = "#4c566a"
sidebar_border = "#2e3440"
footer_border = "#4c566a"
# ========= Border Active =========
file_panel_border_active = "#d8dee9"
sidebar_border_active = "#b48ead"
footer_border_active = "#b48ead"
modal_border_active = "#868686"
# ========= Background (bg) =========
full_screen_bg = "#2e3440"
file_panel_bg = "#2e3440"
sidebar_bg = "#2e3440"
footer_bg = "#2e3440"
modal_bg = "#2e3440"
# ========= Foreground (fg) =========
full_screen_fg = "#e5e9f0"
file_panel_fg = "#e5e9f0"
sidebar_fg = "#e5e9f0"
footer_fg = "#e5e9f0"
modal_fg = "#e5e9f0"
# ========= Special Color =========
cursor = "#88c0d0"
correct = "#88c0d0"
error = "#bf616a"
hint = "#8fbcbb"
cancel = "#d8dee9"
# Gradient color can only have two color!
gradient_color = ["#81a1c1", "#bf616a"]
# ========= File Panel Special Items =========
file_panel_top_directory_icon = "#88c0d0"
file_panel_top_path = "#88c0d0"
file_panel_item_selected_fg = "#bf616a"
file_panel_item_selected_bg = "#2e3440"
# ========= Sidebar Special Items =========
sidebar_title = "#81a1c1"
sidebar_item_selected_fg = "#88c0d0"
sidebar_item_selected_bg = "#2e3440"
sidebar_divider = "#868686"
# ========= Modal Special Items =========
modal_cancel_fg = "#e5e9f0"
modal_cancel_bg = "#4c566a"
modal_confirm_fg = "#e5e9f0"
modal_confirm_bg = "#bf616a"

View File

@@ -0,0 +1,60 @@
# Rose Pine
# Theme create by: https://github.com/tanbinislam43
# Update by(sort by time):
#
# Thanks for all contributor!!
# If you want to make border display just set it same as sidebar background color
# ========= Border =========
file_panel_border = "#403d52"
sidebar_border = "#191724"
footer_border = "#403d52"
# ========= Border Active =========
file_panel_border_active = "#6e6e86"
sidebar_border_active = "#c4a7e7"
footer_border_active = "#f6c177"
modal_border_active = "#868686"
# ========= Background (bg) =========
full_screen_bg = "#191724"
file_panel_bg = "#191724"
sidebar_bg = "#191724"
footer_bg = "#191724"
modal_bg = "#191724"
# ========= Foreground (fg) =========
full_screen_fg = "#e0def4"
file_panel_fg = "#e0def4"
sidebar_fg = "#e0def4"
footer_fg = "#e0def4"
modal_fg = "#e0def4"
# ========= Special Color =========
cursor = "#9ccfd8"
correct = "#8ec07c"
error = "#ff6969"
hint = "#31784f"
cancel = "#838383"
# Gradient color can only have two color!
gradient_color = ["#31784f", "#eb6f92"]
# ========= File Panel Special Items =========
file_panel_top_directory_icon = "#9ccfd8"
file_panel_top_path = "#ebbcba"
file_panel_item_selected_fg = "#c4a7e7"
file_panel_item_selected_bg = "#191724"
# ========= Sidebar Special Items =========
sidebar_title = "#6e6e86"
sidebar_item_selected_fg = "#f6c177"
sidebar_item_selected_bg = "#191724"
sidebar_divider = "#868686"
# ========= Modal Special Items =========
modal_cancel_fg = "#e0def4"
modal_cancel_bg = "#524f67"
modal_confirm_fg = "#e0def4"
modal_confirm_bg = "#eb6f92"

View File

@@ -5,3 +5,4 @@ config:
icons: icons:
sudo: "🔒" sudo: "🔒"
gh: "" gh: ""
spf: "󰪶"

View File

@@ -101,6 +101,9 @@ bind D new-window -c "#{pane_current_path}" -n " " lazydocker
# LF Terminal File Manager # LF Terminal File Manager
bind O new-window -c "#{pane_current_path}" -n " " lf bind O new-window -c "#{pane_current_path}" -n " " lf
# Superfile Terminal File Manager
bind f new-window -c "#{pane_current_path}" -n "󰪶 " spf
# Run Neovim Telescope find files # Run Neovim Telescope find files
bind F run-shell "nvr-tmux --remote-send '<ESC>:Telescope find_files<CR>'" bind F run-shell "nvr-tmux --remote-send '<ESC>:Telescope find_files<CR>'"
@@ -141,6 +144,7 @@ bind-key "T" run-shell "sesh connect \"$(
# ========= Plugins ========= # ========= Plugins =========
# prefix + I to install, prefix + U to update # prefix + I to install, prefix + U to update
set -g @plugin 'jbnicolai/tmux-fpp' # f
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-battery' set -g @plugin 'tmux-plugins/tmux-battery'
@@ -155,7 +159,6 @@ set -g @plugin 'tmux-plugins/tmux-urlview'
set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'nhdaly/tmux-better-mouse-mode' set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @plugin 'carlocab/tmux-nvr' set -g @plugin 'carlocab/tmux-nvr'
set -g @plugin 'jbnicolai/tmux-fpp' # f
set -g @plugin 'nhdaly/tmux-scroll-copy-mode' set -g @plugin 'nhdaly/tmux-scroll-copy-mode'
set -g @plugin 'wfxr/tmux-fzf-url' # u set -g @plugin 'wfxr/tmux-fzf-url' # u
# set -g @plugin 'joshmedeski/t-smart-tmux-session-manager' # set -g @plugin 'joshmedeski/t-smart-tmux-session-manager'

View File

@@ -126,6 +126,7 @@ config.keys = {
{ key = "q", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2d" }) }, -- Detach session { key = "q", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2d" }) }, -- Detach session
{ key = "r", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2R" }) }, -- Return to last session { key = "r", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2R" }) }, -- Return to last session
{ key = "t", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2c" }) }, -- New window { key = "t", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2c" }) }, -- New window
{ key = "s", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2f" }) }, -- Superfile
{ key = "w", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2x" }) }, -- Close window { key = "w", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2x" }) }, -- Close window
{ key = "y", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2!" }) }, -- Move pane to new window { key = "y", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2!" }) }, -- Move pane to new window
{ key = "z", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2z" }) }, -- Zoom into window { key = "z", mods = "CTRL|ALT", action = wezterm.action({ SendString = "\2z" }) }, -- Zoom into window