Compare commits

...

7 Commits

Author SHA1 Message Date
94df267831 Some aliases moved to utils 2025-12-08 17:04:11 +08:00
9ca95f6353 git: include ~/.git_aliases.extra 2025-11-24 19:29:35 +08:00
Антон Аксенов
cf5d7a0877 shell misc 2025-11-14 18:29:06 +08:00
ec03e01dbb fix terminal font for vscode 2025-11-14 10:51:53 +08:00
c6ca5271e8 case tar.xz in extract util 2025-11-14 10:51:22 +08:00
601ccbaf14 vscode 2025-11-12 19:03:13 +08:00
1c92add6e1 obs 2025-11-12 18:47:25 +08:00
33 changed files with 910 additions and 74 deletions

7
.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
*.backup
*.bak
*.log
*._
*.tmp
*.tmp*
*.vscdb

View File

@@ -22,4 +22,4 @@ Target (`-t`) defaults to the parent of `pwd`, so if you clone this repo not in
* <https://www.gnu.org/software/stow/manual/stow.html>
* <https://tamerlan.dev/how-i-manage-my-dotfiles-using-gnu-stow/>
* <https://gist.github.com/andreibosco/cb8506780d0942a712fc>
* https://github.com/jimeh/git-aware-stow
* <https://github.com/jimeh/git-aware-stow>

View File

@@ -21,5 +21,7 @@
prune = true
[include]
path = ~/.git_aliases
[include]
path = ~/.git_aliases.extra
[include]
path = ~/.gitconfig.extra ; use this file to store other personal settings and aliases

View File

@@ -0,0 +1,89 @@
[General]
Pre19Defaults=false
Pre21Defaults=false
Pre23Defaults=false
Pre24.1Defaults=false
FirstRun=true
LastVersion=503316482
CurrentTheme3=Dark
MaxLogs=10
InfoIncrement=-1
ProcessPriority=Normal
EnableAutoUpdates=true
ConfirmOnExit=true
HotkeyFocusType=NeverDisableHotkeys
[Basic]
Profile=Безымянный
ProfileDir=Безымянный
SceneCollection=Безымянный
SceneCollectionFile=Безымянный
ConfigOnNewProfile=true
[BasicWindow]
gridMode=false
geometry=AdnQywADAAAAAAAAAAAAAAAAB38AAAQVAAAAAAAAABwAAAd/AAAEFQAAAAACAAAAB4AAAAAAAAAAHAAAB38AAAQV
DockState=AAAA/wAAAAD9AAAAAgAAAAAAAAFfAAADwvwCAAAABPwAAAAWAAAA3wAAAI0BAAAY+gAAAAABAAAAAvsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAAKEAAACgAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAQAAAAD/////AAAAugD////7AAAAFgBzAG8AdQByAGMAZQBzAEQAbwBjAGsBAAAA+QAAAQwAAAB0AP////sAAAASAG0AaQB4AGUAcgBEAG8AYwBrAQAAAgkAAAENAAAAdgD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAAMaAAAAvgAAALsA////AAAAAwAABkAAAAEC/AEAAAAB+wAAABIAcwB0AGEAdABzAEQAbwBjAGsCAAACzQAAAPUAAAK8AAAAyAAABh0AAAPCAAAABAAAAAQAAAAIAAAACPwAAAAA
PreviewEnabled=true
AlwaysOnTop=false
SceneDuplicationMode=true
SwapScenesMode=true
EditPropertiesMode=false
PreviewProgramMode=false
DocksLocked=false
WarnBeforeStartingStream=false
WarnBeforeStoppingStream=false
WarnBeforeStoppingRecord=false
SysTrayWhenStarted=false
SysTrayMinimizeToTray=true
RecordWhenStreaming=true
SnappingEnabled=true
ScreenSnapping=true
SourceSnapping=true
CenterSnapping=false
SnapDistance=10
SpacingHelpersEnabled=true
KeepRecordingWhenStreamStops=false
SysTrayEnabled=true
SaveProjectors=false
ShowTransitions=true
ShowListboxToolbars=true
ShowStatusBar=true
ShowSourceIcons=true
ShowContextToolbars=true
StudioModeLabels=true
VerticalVolControl=false
MultiviewMouseSwitch=true
MultiviewDrawNames=true
MultiviewDrawAreas=true
MediaControlsCountdownTimer=true
SideDocks=false
[PropertiesWindow]
cx=720
cy=580
[ScriptLogWindow]
geometry=AdnQywADAAAAAAAAAAAAFAAAAlcAAAGjAAAAAAAAABQAAAJXAAABowAAAAAAAAAAB4AAAAAAAAAAFAAAAlcAAAGj
[OBSWebSocket]
FirstLoad=false
ServerEnabled=false
ServerPort=4455
AlertsEnabled=false
AuthRequired=true
ServerPassword=4blHHSDyZzxK6HRO
[Video]
Renderer=OpenGL
[Accessibility]
SelectRed=255
SelectGreen=65280
SelectBlue=16744192
MixerGreen=2522918
MixerYellow=2523007
MixerRed=2500223
MixerGreenActive=5046092
MixerYellowActive=5046271
MixerRedActive=5000447

View File

@@ -1,18 +1,20 @@
#!/usr/bin/env bash
# alias bashrc='source ~/.bashrc'
alias aliases='cat ~/.bash_aliases'
alias bashrc='source ~/.bashrc'
alias zshrc='source ~/.zshrc'
# alias aliases='cat ~/.bash_aliases' # use 'alias' instead (without args)
alias realias='source ~/.bash_aliases'
alias stow="stow -v"
alias unstow="stow -D"
alias restow="stow -R"
alias reload='exec ${SHELL} -l'
alias sudo='sudo ' # enable aliases to be sudoed
alias sudo='sudo ' # enable aliases to be sudo'ed
alias g='git'
alias hosts="sudo nano /etc/hosts"
alias shrug="echo '¯\_(ツ)_/¯' | xclip -selection c"
alias up='cd ..'
alias back='cd -'
alias ..='cd ..' # zsh builtin
alias ~='cd ~' # zsh builtin
alias -- -='cd -' # zsh builtin
@@ -34,31 +36,20 @@ alias where='whereis' # zsh builtin
alias ps='ps auxf'
alias psg='ps aux | grep -v grep | grep -i -e VSZ -e'
alias is='type -a'
alias upgrade='sudo apt update && sudo apt upgrade -y && sudo snap refresh'
alias wine='LANG=ru_RU.utf8 wine'
alias wine64='LANG=ru_RU.utf8 wine64'
alias untargz='tar -czf'
alias mkcd="mkdir -p $1 && cd $1"
alias cl="cd $1 && ll"
alias myip='curl http://ipecho.net/plain; echo'
alias ports='netstat -tulpan'
# alias pubkey="more ~/.ssh/id_ed25519.pub | xclip -selection clipboard | echo '=> Public key copied to pasteboard.'"
alias ssh.pub="cat ~/.ssh/*.pub"
alias gpg.new="gpg --full-generate-key"
alias gpg.pub="gpg --armor --export"
alias gpg.list='gpg --list-keys --keyid-format SHORT'
# alias pubkey="more ~/.ssh/id_ed25519.pub | xclip -selection clipboard | echo '=> Public key copied to pasteboard.'"
alias lite-xl="LITE_SCALE=1 lite-xl"
alias wine='LANG=ru_RU.utf8 wine'
alias docker.prune='docker image prune -f; docker network prune -f; docker container prune -f'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# https://obsproject.com/forum/threads/how-to-start-virtual-camera-without-sudo-privileges.139783/
alias obscam="sudo modprobe v4l2loopback video_nr=2 card_label='OBS Virtual Camera'"
# alias obscam="sudo modprobe v4l2loopback video_nr=2 card_label='OBS Virtual Camera'"
# Download music from Youtube or Youtube Music
# and save as top quality flac file without video
@@ -76,7 +67,6 @@ ytm() {
"$@"
}
docker.ip() {
if [ "$1" ]; then
if [ "$1" = "-a" ]; then
@@ -85,7 +75,7 @@ docker.ip() {
| sed -e 's#^/##' \
| column -t
elif [ "$1" = "-c" ]; then
docker-compose ps -q \
docker compose ps -q \
| xargs -n 1 docker inspect --format '{{.Name}}{{range .NetworkSettings.Networks}} {{.IPAddress}}{{end}}' \
| sed -e 's#^/##' \
| column -t

View File

@@ -16,35 +16,29 @@ fi
### AAA ##########################################
[ -f ~/.bash_aliases ] && source ~/.bash_aliases
[ -f ~/.profile.extra ] && source ~/.profile.extra
export LITE_SCALE=1 # workaround https://github.com/lite-xl/lite-xl/issues/1173
export JAVA_HOME="/usr/bin/"
export PATH="/opt/nvim/bin:$PATH"
export PATH="$HOME/.local/bin/:$PATH"
export PATH="$HOME/.local/share/JetBrains/Toolbox/scripts:$PATH"
export PATH="$(composer config -g home)/vendor/bin:$PATH"
export PATH="$PATH:/opt/nvim/bin/"
export PATH="$PATH:$HOME/.local/bin/"
export PATH="$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts/"
if hash composer >/dev/null; then
composer_home=$(composer config -g home 2>/dev/null)
export PATH="$PATH:$composer_home/vendor/bin"
fi
# phpbrew
# export PHPBREW_SET_PROMPT=1
# export PHPBREW_RC_ENABLE=1
# [ -f ~/.phpbrew/bashrc ] && source ~/.phpbrew/bashrc
# [ -f $HOME/.phpbrew/bashrc ] && source $HOME/.phpbrew/bashrc
# golang
export PATH="/usr/local/go/bin:$PATH"
export PATH="$PATH:/usr/local/go/bin"
export GOPATH="$HOME/.go"
# rust cargo
[ -f ~/.cargo/env ] && source ~/.cargo/env
[ -f "$HOME/.cargo/env" ] && source "$HOME/.cargo/env"
# nvm
# export NVM_DIR="$HOME/.nvm"
# [ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh" # This loads nvm
# [ -s "$NVM_DIR/bash_completion" ] && source "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# neovim
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
@@ -55,3 +49,5 @@ export NVM_DIR="$HOME/.nvm"
# The next line enables shell command completion for yc.
[ -f "$HOME/yandex-cloud/completion.zsh.inc" ] && source "$HOME/yandex-cloud/completion.zsh.inc"
# misc
[[ -f $HOME/.profile.extra ]] && source $HOME/.profile.extra

View File

@@ -77,7 +77,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git docker docker-compose composer zsh-autosuggestions zsh-syntax-highlighting)
plugins=(git docker docker-compose composer zsh-autosuggestions zsh-syntax-highlighting laravel)
source $ZSH/oh-my-zsh.sh

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -eo pipefail
if hash pbcopy 2>/dev/null; then
exec pbcopy

22
utils/.local/bin/curlstat Executable file
View File

@@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -eo pipefail
curl -sLw @- -o /dev/null "$@" <<'EOF'
URL:\t\t\t%{url}\n
Address:\t\t%{remote_ip}:%{remote_port}\n
Response:\t\tHTTP/%{http_version} %{http_code}\n
\n
Speed:\n
* speed_download:\t%{speed_download} b/s\n
* speed_upload:\t\t%{speed_upload} b/s\n
\n
Timings:\n
* time_namelookup:\t%{time_namelookup} sec\n
* time_connect:\t\t%{time_connect} sec\n
* time_appconnect:\t%{time_appconnect} sec\n
* time_pretransfer:\t%{time_pretransfer} sec\n
* time_redirect:\t%{time_redirect} sec\n
* time_starttransfer:\t%{time_starttransfer} sec\n
\t\t\t------------\n
* time_total:\t\t%{time_total} sec\n
EOF

View File

@@ -1,8 +1,11 @@
#!/usr/bin/env bash
set -eo pipefail
if [ -f "$1" ]; then
case "$1" in
*.tar.bz2) tar -jxvf "$1" ;;
*.tar.gz) tar -zxvf "$1" ;;
*.tar.xz) tar -Jxvf "$1" ;;
*.bz2) bunzip2 "$1" ;;
*.dmg) hdiutil mount "$1" ;;
*.gz) gunzip "$1" ;;

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -euo pipefail
statuses="100 Continue
101 Switching Protocols

4
utils/.local/bin/is Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
set -eo pipefail
[ -n "$1" ] && command -v "$1" || exit 1

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env bash
set -e
set -u
set -eo pipefail
echo -n "$@" | wc -c | awk '{print $1}'

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -eo pipefail
lineno="$1"; shift
sed -n "${lineno}p" -- "$@"

4
utils/.local/bin/mkcd Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
mkdir -p "$1"
cd "$1" || exit

View File

@@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
set -eo pipefail
if [ ! $# -eq 1 ]; then
echo 'mksh takes one argument' 1>&2

4
utils/.local/bin/myip Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
curl http://ipecho.net/plain
echo

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -eo pipefail
if hash pbpaste 2>/dev/null; then
exec pbpaste

View File

@@ -1,6 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -eo pipefail
process_list="$(ps -eo 'pid command')"
if [[ $# != 0 ]]; then

View File

@@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
set -eo pipefail
file="$(mktemp)"
echo "Editing $file"

View File

@@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
set -eo pipefail
port='8888'
if [ $# -eq 1 ]; then

View File

@@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
set -eo pipefail
sleep "$1"
notify-send 'Timer complete!' \

View File

@@ -1,6 +1,3 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
gio trash "$@"

30
utils/.local/bin/upgrade Executable file
View File

@@ -0,0 +1,30 @@
#!/usr/bin/env bash
set -eo pipefail
is apt >/dev/null && {
echo
echo "==========================="
echo "Upgarding apt packages..."
echo "==========================="
echo
sudo apt update
sudo apt upgrade -y
}
is snap >/dev/null && {
echo
echo "==========================="
echo "Upgarding snap packages..."
echo "==========================="
echo
sudo snap refresh
}
is flatpak >/dev/null && {
echo
echo "==========================="
echo "Upgarding flatpak packages..."
echo "==========================="
echo
sudo flatpak update -y
}

View File

@@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
set -eo pipefail
curl "https://r.jina.ai/$1" \
-sS \

View File

@@ -1,7 +1,5 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
set -eo pipefail
if hash systemd-inhibit 2>/dev/null; then
systemd-inhibit \

14
utils/.local/bin/what Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
set -x
type "$1" 2>/dev/null
type -t "$1" 2>/dev/null
type -a "$1" 2>/dev/null
type -P "$1" 2>/dev/null
which -a "$1" 2>/dev/null
which "$1" \
&& file -b "$(which "$1")" \
&& file -L "$(which "$1")"
type -a "$1" 2>/dev/null
command -v "$1"
whereis "$1"

View File

@@ -0,0 +1,260 @@
[
{
"key": "tab",
"command": "editor.action.indentLines",
"when": "editorHasSelection && editorTextFocus && !hasOtherSuggestions && !inSnippetMode && !suggestWidgetVisible"
},
{
"key": "ctrl+]",
"command": "-editor.action.indentLines",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+k ctrl+shift+l",
"command": "workbench.action.editor.changeLanguageMode"
},
{
"key": "ctrl+k m",
"command": "-workbench.action.editor.changeLanguageMode"
},
{
"key": "ctrl+shift+k ctrl+shift+m",
"command": "workbench.action.editor.changeEncoding"
},
{
"key": "ctrl+shift+d",
"command": "editor.action.insertCursorAtEndOfEachLineSelected",
"when": "editorTextFocus"
},
{
"key": "shift+alt+i",
"command": "-editor.action.insertCursorAtEndOfEachLineSelected",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+s",
"command": "workbench.action.openSettings"
},
{
"key": "ctrl+,",
"command": "-workbench.action.openSettings"
},
{
"key": "ctrl+numpad_subtract",
"command": "-workbench.action.zoomOut"
},
{
"key": "ctrl+numpad_add",
"command": "-workbench.action.zoomIn"
},
{
"key": "ctrl+numpad_subtract",
"command": "editor.fold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+[",
"command": "-editor.fold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+numpad_add",
"command": "editor.unfold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+]",
"command": "-editor.unfold",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+numpad_subtract",
"command": "editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+[",
"command": "-editor.foldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+shift+numpad_add",
"command": "editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+k ctrl+]",
"command": "-editor.unfoldRecursively",
"when": "editorTextFocus && foldingEnabled"
},
{
"key": "ctrl+q",
"command": "-workbench.action.quit"
},
{
"key": "ctrl+shift+down",
"command": "-editor.action.insertCursorBelow",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+up",
"command": "-editor.action.insertCursorAbove",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+down",
"command": "editor.action.moveLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+down",
"command": "-editor.action.moveLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+up",
"command": "editor.action.moveLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+up",
"command": "-editor.action.moveLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+r",
"command": "-workbench.action.openRecent"
},
{
"key": "ctrl+r",
"command": "editor.action.startFindReplaceAction",
"when": "editorFocus || editorIsOpen"
},
{
"key": "ctrl+h",
"command": "-editor.action.startFindReplaceAction",
"when": "editorFocus || editorIsOpen"
},
{
"key": "shift+f6",
"command": "editor.action.refactor",
"when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+r",
"command": "-editor.action.refactor",
"when": "editorHasCodeActionsProvider && editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+r",
"command": "-rerunSearchEditorSearch",
"when": "inSearchEditor"
},
{
"key": "ctrl+shift+r",
"command": "workbench.action.replaceInFiles"
},
{
"key": "ctrl+shift+h",
"command": "-workbench.action.replaceInFiles"
},
{
"key": "ctrl+shift+l",
"command": "-editor.action.selectHighlights",
"when": "editorFocus"
},
{
"key": "alt+d",
"command": "editor.action.selectHighlights"
},
{
"key": "ctrl+shift+b",
"command": "-workbench.action.tasks.build",
"when": "taskCommandsRegistered"
},
{
"key": "ctrl+shift+b",
"command": "git.checkout"
},
{
"key": "ctrl+q",
"command": "editor.action.showDefinitionPreviewHover"
},
{
"key": "ctrl+shift+/",
"command": "editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+a",
"command": "-editor.action.blockComment",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "ctrl+shift+p",
"command": "workbench.action.showCommands"
},
{
"key": "ctrl+shift+p",
"command": "-workbench.action.showCommands"
},
{
"key": "alt+f12",
"command": "workbench.action.terminal.toggleTerminal",
"when": "terminal.active"
},
{
"key": "ctrl+`",
"command": "-workbench.action.terminal.toggleTerminal",
"when": "terminal.active"
},
{
"key": "alt+right",
"command": "editor.action.inlineSuggest.acceptNextWord",
"when": "editorTextFocus && inlineSuggestionVisible"
},
{
"key": "meta+right",
"command": "-editor.action.inlineSuggest.acceptNextWord",
"when": "editorTextFocus && inlineSuggestionVisible"
},
{
"key": "ctrl+o",
"command": "workbench.action.files.openFile"
},
{
"key": "ctrl+o",
"command": "-workbench.action.files.openFile",
"when": "true"
},
{
"key": "ctrl+o",
"command": "-workbench.action.files.openFileFolder",
"when": "isMacNative && openFolderWorkspaceSupport"
},
{
"key": "ctrl+o",
"command": "-workbench.action.files.openFolderViaWorkspace",
"when": "!openFolderWorkspaceSupport && workbenchState == 'workspace'"
},
{
"key": "ctrl+p ctrl+p",
"command": "workbench.profiles.actions.switchProfile"
},
{
"key": "f4",
"command": "git.openFile"
},
{
"key": "ctrl+e",
"command": "workbench.action.openRecent"
},
{
"key": "alt+space",
"command": "localaipilot.codeComplete"
},
{
"key": "shift+alt+w",
"command": "-localaipilot.codeComplete"
}
]

View File

@@ -0,0 +1,289 @@
{
//----------------------------------------------------------------
// appearence
//----------------------------------------------------------------
"workbench.colorTheme": "Atom One Dark",
"workbench.preferredDarkColorTheme": "Atom One Dark",
"workbench.iconTheme": "material-icon-theme",
// "workbench.tree.indent": 10,
"workbench.tree.renderIndentGuides": "always",
"workbench.view.alwaysShowHeaderActions": true,
"workbench.editor.alwaysShowEditorActions": true,
"workbench.colorCustomizations": {
"editor.lineHighlightBackground": "#1073cf2d",
// "editor.lineHighlightBorder": "#9fced11f",
"editorGhostText.foreground": "#7A8E96"
},
"editor.fontFamily": "'JetBrainsMono Nerd Font', 'DejaVu Sans Mono', 'Liberation Mono', 'Noto Mono', 'Ubuntu Mono', 'Droid Sans Mono', 'Droid Sans Fallback', monospace",
"editor.fontSize": 13,
"editor.fontLigatures": true,
"editor.lineHeight": 1.75,
"editor.cursorBlinking": "smooth",
"editor.inlineSuggest.showToolbar": "always",
"editor.mouseWheelZoom": true,
"editor.minimap.maxColumn": 150,
"editor.minimap.renderCharacters": false,
"editor.minimap.showSlider": "always",
"window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName}",
"window.titleSeparator": " | ",
"chat.commandCenter.enabled": false,
"window.enableMenuBarMnemonics": false,
"window.restoreFullscreen": true,
"window.newWindowProfile": "По умолчанию",
"window.customTitleBarVisibility": "auto",
"window.commandCenter": false,
"window.menuBarVisibility": "compact",
"debug.toolBarLocation": "docked",
"testing.coverageToolbarEnabled": true,
"material-icon-theme.opacity": 0.8,
"statusbar_command.applicationCommands": [
{
"text": "$(arrow-left)",
"tooltip": "Назад",
"id": "nav-back",
"name": "Назад",
"priority": 1,
"alignment": "left",
"command": "workbench.action.navigateBack"
},
{
"text": "$(arrow-right)",
"tooltip": "Вперёд",
"id": "nav-forw",
"name": "Вперёд",
"priority": 1,
"alignment": "left",
"command": "workbench.action.navigateForward"
}
],
//----------------------------------------------------------------
// workbench
//----------------------------------------------------------------
"workbench.startupEditor": "newUntitledFile",
"workbench.editor.empty.hint": "hidden",
"workbench.editor.pinnedTabsOnSeparateRow": true,
"workbench.editor.revealIfOpen": true,
"workbench.editor.enablePreview": false,
"workbench.editor.defaultBinaryEditor": "hexEditor.hexedit",
// "workbench.editor.historyBasedLanguageDetection": true,
//----------------------------------------------------------------
// editor
//----------------------------------------------------------------
// "breadcrumbs.enabled": false,
"editor.showFoldingControls": "always",
"editor.renderControlCharacters": true,
"editor.wordWrap": "off",
"editor.inlayHints.enabled": "off",
"editor.selectionClipboard": false,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.scrollbar.horizontal": "hidden",
"editor.scrollbar.vertical": "hidden",
"editor.foldingImportsByDefault": true,
"editor.unicodeHighlight.nonBasicASCII": false,
"editor.inlineSuggest.syntaxHighlightingEnabled": true,
"editor.quickSuggestions": {
"comments": "on",
"strings": "on",
"other": "on"
},
//----------------------------------------------------------------
// terminal
//----------------------------------------------------------------
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font, MesloLGS NF, Ubuntu Mono",
"terminal.integrated.fontSize": 13,
"terminal.integrated.cursorStyle": "line",
"terminal.integrated.defaultProfile.linux": "zsh",
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.mouseWheelZoom": false,
"terminal.integrated.scrollback": 1000000,
"terminal.integrated.enableImages": true,
"terminal.integrated.fontLigatures": true,
"terminal.integrated.shellIntegration.enabled": false,
"terminal.integrated.tabs.focusMode": "singleClick",
"terminal.integrated.tabs.location": "left",
//----------------------------------------------------------------
// files
//----------------------------------------------------------------
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"explorer.expandSingleFolderWorkspaces": false,
"explorer.fileNesting.enabled": true,
"files.autoSave": "onFocusChange",
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"files.associations": {
"*.inc": "php",
"*.desktop": "ini",
"*.env": "env",
".env.*": "env",
},
"files.exclude": {
"**/.git": false
},
"[markdown]": {
"files.trimTrailingWhitespace": false
},
"[lua]": {
"editor.defaultFormatter": "sumneko.lua"
},
"[xml]": {
"editor.defaultFormatter": "DotJoshJohnson.xml"
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
},
// "[awk]": {
// "editor.semanticHighlighting.enabled": true
// }
//----------------------------------------------------------------
// git
//----------------------------------------------------------------
"git.allowForcePush": true,
"git.allowNoVerifyCommit": true,
"git.autofetch": true,
"git.autoStash": true,
"git.enableCommitSigning": true,
"git.inputValidationSubjectLength": null,
"git.confirmSync": false,
"git.branchProtection": [
"master",
"develop",
"dev",
],
"gitPrefix.replacement": "$1: ",
"gitlens.showWelcomeOnInstall": false,
"gitlens.views.repositories.files.layout": "tree",
//----------------------------------------------------------------
// docker
//----------------------------------------------------------------
"docker.volumes.groupBy": "CreatedTime",
//----------------------------------------------------------------
// diffs
//----------------------------------------------------------------
"merge-conflict.autoNavigateNextConflict.enabled": true,
"diffEditor.experimental.showMoves": true,
"diffEditor.ignoreTrimWhitespace": false,
"diffEditor.renderSideBySide": true,
"diffEditor.wordWrap": "off",
"diffEditor.hideUnchangedRegions.enabled": true,
"partialDiff.commandsOnContextMenu": {
"markSection1": true,
"markSection2AndTakeDiff": true,
"diffSelectionWithClipboard": false,
"diffVisibleEditors": true,
"togglePreComparisonTextNormalizationRules": false
},
//----------------------------------------------------------------
// other
//----------------------------------------------------------------
"telemetry.telemetryLevel": "error",
"security.workspace.trust.untrustedFiles": "open",
//----------------------------------------------------------------
// php
//----------------------------------------------------------------
"php.suggest.basic": true,
"php.validate.enable": true,
"php.validate.run": "onType",
"php.completion.autoimport-docblock": "auto-import",
"php.debug.port": [
"9003",
"9000"
],
"php.linkedEditing.variables": true,
"php.problems.excludeGitIgnore": true,
"php.format.rules.arrayInitializersAlignKeyValuePairs": false,
//----------------------------------------------------------------
// golang
//----------------------------------------------------------------
"go.toolsManagement.autoUpdate": true,
//----------------------------------------------------------------
// shell
//----------------------------------------------------------------
"bashIde.highlightParsingErrors": true,
//----------------------------------------------------------------
// ai assistance
//----------------------------------------------------------------
"gigacode.common.contextManager": true,
"gigacode.maxSuggestions": 5,
//----------------------------------------------------------------
// unsorted
//----------------------------------------------------------------
"extensions.ignoreRecommendations": true,
"prettier.tabWidth": 4,
"prettier.semi": false,
"prettier.singleQuote": true,
"prettier.printWidth": 120,
"prettier.arrowParens": "avoid",
"autoscroll.autoEnableForLogs": true,
"nginx-conf-hint.format.align": true,
"nginx-conf-hint.syntax": "sublime",
"emmet.excludeLanguages": [
"markdown",
"php"
],
"redhat.telemetry.enabled": true,
"markdown.extension.toc.unorderedList.marker": "*",
"markdown.extension.toc.levels": "2..4",
"window.customMenuBarAltFocus": false,
"githubLocalActions.workflowsDirectory": ".gitea/workflows",
"privy.model": "custom",
"privy.syntaxHighlighting.useVisualStudioCodeColors": true,
"docker.extension.enableComposeLanguageServer": false,
"[dockercompose]": {
"editor.insertSpaces": true,
"editor.tabSize": 2,
"editor.autoIndent": "advanced",
"editor.defaultFormatter": "redhat.vscode-yaml"
},
"[github-actions-workflow]": {
"editor.defaultFormatter": "redhat.vscode-yaml"
},
"kilo-code.allowedCommands": [
"git log",
"git diff",
"git show"
],
"kilo-code.deniedCommands": []
}

View File

@@ -0,0 +1,15 @@
{
// Place your snippets for css here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
}

View File

@@ -0,0 +1,32 @@
{
// Place your GLOBAL snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"One line TODO": {
"prefix": ["todo", "туду", "nele", "ещвщ"],
"body": [
"${LINE_COMMENT} TODO: ${0}",
],
},
"Muliline TODO": {
"prefix": ["todom", "тудум", "nelev", "ещвщм"],
"body": [
"${BLOCK_COMMENT_START}",
"${LINE_COMMENT} TODO: ${0}",
"${BLOCK_COMMENT_END}"
],
}
}

View File

@@ -0,0 +1,96 @@
{
"DocBlock": {
"description": "Комментарий для функции",
"prefix": ["doc", "док", "вщс", "ljr"],
"body": [
"",
"${LINE_COMMENT}purpose\t${1}",
"${LINE_COMMENT}argument\t\\$1 - ${2}",
"${LINE_COMMENT}exitcode\t0 - ${3}",
"${LINE_COMMENT}returns\t${4}",
"${LINE_COMMENT}usage\t\t${0}",
],
},
"Condition: if": {
"description": "Условие (простое)",
"prefix": ["if", "ша"],
"body": [
"if ${1}; then",
" ${0}",
"fi",
],
},
"Condition: if []": {
"description": "Условие (со скобками [])",
"prefix": ["if2", "ша"],
"body": [
"if [ ${1} ]; then",
" ${0}",
"fi",
],
},
"Condition: if [[]]": {
"description": "Условие (со скобками [[]])",
"prefix": ["if3", "ша"],
"body": [
"if [[ ${1} ]]; then",
" ${0}",
"fi",
],
},
"Condition: if ... else ...": {
"description": "Условие (с двумя ветками)",
"prefix": ["ifel", "шауд"],
"body": [
"if [ ${1} ]; then",
" ${2}",
"else",
" ${0}",
"fi",
],
},
"Loop: for": {
"description": "Цикл по счётчику",
"prefix": ["for", "ащк"],
"body": [
"for ((idx=${1:0}; idx<${2:\\$limit}; ++idx)) do",
" ${0}",
"done",
],
},
"Loop: for in": {
"description": "Цикл по массиву",
"prefix": ["forin", "ащкшт"],
"body": [
"for var in \"${${1:array}[@]}\"; do",
" ${0:}",
"done",
],
},
"Loop: while": {
"description": "Цикл",
"prefix": ["while", "цршду"],
"body": [
"while ${1:true}; do",
" ${0}",
"done"
],
},
"Function": {
"description": "Функция",
"prefix": ["func", "агтс"],
"body": [
"${1:myfunc}() {",
" ${0}",
"}"
],
},
"Hashbang": {
"description": "Hashbang",
"prefix": ["bb", "#!"],
"body": [
"#!/usr/bin/env bash"
],
}
}

View File

@@ -4,7 +4,7 @@ include "%L"
<Multi_key> <Cyrillic_ha> <Cyrillic_ze> : "¯\\_(ツ)_/¯" # хз
<Multi_key> <Cyrillic_sha> <Cyrillic_te> <Cyrillic_o> <Cyrillic_sha> : "¯\\_(ツ)_/¯" # штош
<Multi_key> <Cyrillic_ne> <Cyrillic_u> <Cyrillic_sha> <Cyrillic_te> <Cyrillic_o> <Cyrillic_sha> : "¯\\_(ツ)_/¯" # нуштош
<Multi_key> <Cyrillic_ne> <Cyrillic_u> <space> <Cyrillic_sha> <Cyrillic_te> <Cyrillic_o> <Cyrillic_sha> : "¯\\_(ツ)_/¯" # нуштош
<Multi_key> <Cyrillic_ne> <Cyrillic_u> <space> <Cyrillic_sha> <Cyrillic_te> <Cyrillic_o> <Cyrillic_sha> : "¯\\_(ツ)_/¯" # ну штош
# ударения
<Multi_key> <Cyrillic_A> <Cyrillic_A> : "А́" # CYRILLIC CAPITAL LETTER A plus COMBINING ACUTE --- AAA