set shell pwsh
set shellflag '-cwa'
set shellopts '-nop'

set hidden
set icons
set preview
set watch
set mouse
set incsearch
set incfilter
set ignorecase
set noignoredia
set dirfirst
set mergeindicators
set scrolloff 5
set sortby name
set sizeunits binary
set tabstop 2
set ratios 1:3:5

set previewer ~/.config/stackops/settings/lf/windows/previewer.cmd

set copyfmt "\033[38;2;80;250;123m"
set cursoractivefmt "\033[38;2;248;248;242;48;2;68;71;90m"
set cursorparentfmt "\033[38;2;248;248;242;48;2;68;71;90m"
set cursorpreviewfmt "\033[38;2;189;147;249m"
set cutfmt "\033[38;2;255;85;85m"
set errorfmt "\033[38;2;248;248;242;48;2;255;85;85m"
set promptfmt "\033[38;2;189;147;249m%u@%h\033[0m:\033[38;2;139;233;253m%d\033[0m\033[1m%f\033[0m"
set selectfmt "\033[38;2;241;250;140m"
set tagfmt "\033[38;2;139;233;253m"
set visualfmt "\033[38;2;139;233;253m"

cmd open $& "$Env:USERPROFILE/.config/stackops/settings/lf/windows/autocall/open.ps1"
cmd toggle-preview-max && "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" toggle-preview-max
cmd repo-root && "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" repo-root
cmd fullscreen-preview $& "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" fullscreen-preview
cmd interactive-view $& "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" interactive-view
cmd open-default $& "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" open-default
cmd compress-selected $& "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" compress-selected
cmd decrypt $& "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" decrypt
cmd copy-paths && "$Env:USERPROFILE/.config/stackops/settings/lf/windows/action.ps1" copy-paths

cmd help !&$Env:lf -doc | &$Env:PAGER
cmd maps !&$Env:lf -remote "query $Env:id maps" | &$Env:PAGER
cmd nmaps !&$Env:lf -remote "query $Env:id nmaps" | &$Env:PAGER
cmd vmaps !&$Env:lf -remote "query $Env:id vmaps" | &$Env:PAGER
cmd cmaps !&$Env:lf -remote "query $Env:id cmaps" | &$Env:PAGER
cmd cmds !&$Env:lf -remote "query $Env:id cmds" | &$Env:PAGER

map <f-1> help
map "!" $pwsh -NoLogo -NoProfile
map w $pwsh -NoLogo -NoProfile
map i !&$Env:PAGER "$Env:f"
map T set preview!
map M toggle-preview-max

map F $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" fire "$Env:f"
map Pc $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" seek "$Env:f"
map Pf $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" seek -f "$Env:f"
map Pe $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" seek -e "$Env:f"
map Ps $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" seek -s "$Env:f"
map Pa $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" seek -a "$Env:f"

map b $bat "$Env:f"
map e $hx "$Env:f"
map v fullscreen-preview
map V interactive-view
map n $nano "$Env:f"
map gr repo-root

map Rv &code "$Env:f"
map Ro open-default
map Rh $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" utils file edit "$Env:f"
map Rp $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" preview "$Env:f"
map Rf $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" fire "$Env:f"
map RF $& "$Env:USERPROFILE/.config/stackops/scripts/wrap_stackops.ps1" fire -i "$Env:f"
map Rc $code "$Env:f"

map o
map oc compress-selected
map od $ouch decompress "$Env:f"
map os $gpg --output "$($Env:f).gpg" --symmetric "$Env:f"
map oa $gpg --output "$($Env:f).gpg" --default-recipient-self --encrypt "$Env:f"
map oS decrypt
map oA decrypt

map go $uv run --isolated --no-project --python 3.14 --with stackops "$Env:USERPROFILE/.config/stackops/settings/yazi/scripts/open_db_readonly.py" "$Env:f"
map gu $uv run --isolated --no-project --python 3.14 --with stackops "$Env:USERPROFILE/.config/stackops/settings/yazi/scripts/open_db_readonly.py" --ui "$Env:f"

map y :copy-paths; copy
map ct $uv run --isolated --no-project --python 3.14 --with stackops "$Env:USERPROFILE/.config/stackops/settings/yazi/scripts/copy_file_content.py" "$Env:f"

map x cut
map c
map cc clear
map oo open
map <enter> open
map . set hidden!
