⚡ batch (sadly)
This commit is contained in:
		@@ -160,6 +160,19 @@ alias npx-wca='npx -y web-component-analyzer'
 | 
				
			|||||||
alias npx-qnm='npx -y qnm'
 | 
					alias npx-qnm='npx -y qnm'
 | 
				
			||||||
alias npx-hint='npx -y hint'
 | 
					alias npx-hint='npx -y hint'
 | 
				
			||||||
alias npx-markdown='npx -y markserv'
 | 
					alias npx-markdown='npx -y markserv'
 | 
				
			||||||
 | 
					§interfaces() {
 | 
				
			||||||
 | 
						node <<-EOF
 | 
				
			||||||
 | 
						var os = require('os');
 | 
				
			||||||
 | 
						var i = os.networkInterfaces();
 | 
				
			||||||
 | 
						Object.keys(i).forEach(function(name) {
 | 
				
			||||||
 | 
							i[name].forEach(function(int) {
 | 
				
			||||||
 | 
								if (int.family === 'IPv4') {
 | 
				
			||||||
 | 
									console.log('%s: %s', name, int.address);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
						EOF
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias fzf=fzf-carroarmato0.fzf
 | 
					alias fzf=fzf-carroarmato0.fzf
 | 
				
			||||||
alias smerge='/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=sublime_merge --file-forwarding com.sublimemerge.App @@u %u @@'
 | 
					alias smerge='/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=sublime_merge --file-forwarding com.sublimemerge.App @@u %u @@'
 | 
				
			||||||
@@ -167,8 +180,6 @@ kommit(){ command kommit $* > /dev/null 2>&1 & disown; }
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
§url-curl(){ curl --silent -I "$1" | grep -i location; }
 | 
					§url-curl(){ curl --silent -I "$1" | grep -i location; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias bathelp='batcat --plain --language=help'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
rpg(){
 | 
					rpg(){
 | 
				
			||||||
	rpg-cli "$@"
 | 
						rpg-cli "$@"
 | 
				
			||||||
	if ( [[ "$1" == "cd" ]] || [[ "$1" == "ls" ]] ); then
 | 
						if ( [[ "$1" == "cd" ]] || [[ "$1" == "ls" ]] ); then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,7 @@ alias C--brew='\. "$BASH_DOTFILES/brew.completion"'
 | 
				
			|||||||
alias C--pnpm='\. "$BASH_DOTFILES/pnpm.completion"'
 | 
					alias C--pnpm='\. "$BASH_DOTFILES/pnpm.completion"'
 | 
				
			||||||
alias C--uu='eval "$($HOME/bin/uu --completion-bash)"'
 | 
					alias C--uu='eval "$($HOME/bin/uu --completion-bash)"'
 | 
				
			||||||
alias C--jc='eval "$(jc -B)" … newer version needed'
 | 
					alias C--jc='eval "$(jc -B)" … newer version needed'
 | 
				
			||||||
 | 
					alias C--gb='source <(gb completion bash) && complete -F __start_git-bug gb'
 | 
				
			||||||
\. <(bs .completion bash)
 | 
					\. <(bs .completion bash)
 | 
				
			||||||
\. "$BASH_DOTFILES/cordova.completion"
 | 
					\. "$BASH_DOTFILES/cordova.completion"
 | 
				
			||||||
\. <(node --completion-bash)
 | 
					\. <(node --completion-bash)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								.bashrc
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								.bashrc
									
									
									
									
									
								
							@@ -24,7 +24,23 @@ bind -m vi-command 'Control-l: clear-screen'
 | 
				
			|||||||
bind -m vi-insert 'Control-l: clear-screen'
 | 
					bind -m vi-insert 'Control-l: clear-screen'
 | 
				
			||||||
# export MANPAGER="/bin/sh -c \"sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | vim --appimage-extract-and-run --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\""
 | 
					# export MANPAGER="/bin/sh -c \"sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | vim --appimage-extract-and-run --not-a-term -c 'set ft=man ts=8 nomod nolist noma' -\""
 | 
				
			||||||
export MANPAGER="vim --appimage-extract-and-run +MANPAGER --not-a-term -c 'set ts=8 nolist' -"
 | 
					export MANPAGER="vim --appimage-extract-and-run +MANPAGER --not-a-term -c 'set ts=8 nolist' -"
 | 
				
			||||||
shopt -s checkwinsize						# dynamic columns update after every cmd
 | 
					export PAGER=/usr/bin/vimpager
 | 
				
			||||||
 | 
					alias less=$PAGER
 | 
				
			||||||
 | 
					alias cat=/usr/bin/vimcat
 | 
				
			||||||
 | 
					vhead() {
 | 
				
			||||||
 | 
						if [[ -t 1 && -n $1 ]]; then
 | 
				
			||||||
 | 
							command head "$@" | command vimcat
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							command head "$@"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					vtail() {
 | 
				
			||||||
 | 
						if [[ -t 1 && -n $1 ]]; then
 | 
				
			||||||
 | 
							command tail "$@" | command vimcat
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							command tail "$@"
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## History
 | 
					## History
 | 
				
			||||||
export HISTCONTROL=ignoreboth:erasedups		# No duplicate entries and started with spaces. See bash(1) for more options
 | 
					export HISTCONTROL=ignoreboth:erasedups		# No duplicate entries and started with spaces. See bash(1) for more options
 | 
				
			||||||
@@ -62,6 +78,7 @@ fi
 | 
				
			|||||||
export GPG_TTY=$(tty)
 | 
					export GPG_TTY=$(tty)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shopt -s cdspell # autocorrects cd misspellings
 | 
					shopt -s cdspell # autocorrects cd misspellings
 | 
				
			||||||
 | 
					shopt -s dirspell 2>/dev/null || true	# bash >= 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# HSTR configuration - add this to ~/.bashrc
 | 
					# HSTR configuration - add this to ~/.bashrc
 | 
				
			||||||
# if this is interactive shell, then bind hstr to Ctrl-space
 | 
					# if this is interactive shell, then bind hstr to Ctrl-space
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
  "beta_enabled": "No",
 | 
					  "beta_enabled": "No",
 | 
				
			||||||
  "ignore_all_lsp": false,
 | 
					  "ignore_all_lsp": false,
 | 
				
			||||||
  "creation_time": "2022-04-13T07:50:41.488698952Z",
 | 
					  "creation_time": "2022-04-13T07:50:41.488698952Z",
 | 
				
			||||||
  "guuid": null,
 | 
					  "guuid": "b471d867de4cbd5f1e5dc6cbe0aaffdd1397ca828c49652904c7d1ca30db10eb",
 | 
				
			||||||
  "semantic_status": {},
 | 
					  "semantic_status": {},
 | 
				
			||||||
  "enable_telemetry": true,
 | 
					  "enable_telemetry": true,
 | 
				
			||||||
  "user_understands_that_enabling_tabnine_cloud_sends_code_to_tabnine_servers": true,
 | 
					  "user_understands_that_enabling_tabnine_cloud_sends_code_to_tabnine_servers": true,
 | 
				
			||||||
@@ -32,12 +32,14 @@
 | 
				
			|||||||
  "model_hash_override": null,
 | 
					  "model_hash_override": null,
 | 
				
			||||||
  "local_indexing": null,
 | 
					  "local_indexing": null,
 | 
				
			||||||
  "heartbeat_interval_seconds": null,
 | 
					  "heartbeat_interval_seconds": null,
 | 
				
			||||||
  "last_service_level": "FreeCloudRegistered",
 | 
					  "last_service_level": "FreeCloud",
 | 
				
			||||||
  "override_beams": null,
 | 
					  "override_beams": null,
 | 
				
			||||||
  "override_context_length": null,
 | 
					  "override_context_length": null,
 | 
				
			||||||
  "onboarding": null,
 | 
					  "onboarding": null,
 | 
				
			||||||
  "has_git_repos": null,
 | 
					  "has_git_repos": null,
 | 
				
			||||||
  "gusr": null,
 | 
					  "gusr": {
 | 
				
			||||||
 | 
					    "dgc": "b471d867de4cbd5f1e5dc6cbe0aaffdd1397ca828c49652904c7d1ca30db10eb"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  "exclude_file_masks": null,
 | 
					  "exclude_file_masks": null,
 | 
				
			||||||
  "inline_suggestions_mode": true,
 | 
					  "inline_suggestions_mode": true,
 | 
				
			||||||
  "use_specialized_model_if_available": null,
 | 
					  "use_specialized_model_if_available": null,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ beep_on_errors=true
 | 
				
			|||||||
auto_focus=false
 | 
					auto_focus=false
 | 
				
			||||||
sidebar_symbol_visible=true
 | 
					sidebar_symbol_visible=true
 | 
				
			||||||
sidebar_openfiles_visible=true
 | 
					sidebar_openfiles_visible=true
 | 
				
			||||||
editor_font=Ubuntu Sans Mono Medium 8
 | 
					editor_font=BlexMono Nerd Font Mono Medium 8
 | 
				
			||||||
tagbar_font=Ubuntu Mono 8
 | 
					tagbar_font=Ubuntu Mono 8
 | 
				
			||||||
msgwin_font=Ubuntu Mono Bold 8
 | 
					msgwin_font=Ubuntu Mono Bold 8
 | 
				
			||||||
show_notebook_tabs=false
 | 
					show_notebook_tabs=false
 | 
				
			||||||
@@ -141,6 +141,7 @@ treeview_position=226
 | 
				
			|||||||
msgwindow_position=710
 | 
					msgwindow_position=710
 | 
				
			||||||
geometry=321;29;1275;1020;0;
 | 
					geometry=321;29;1275;1020;0;
 | 
				
			||||||
use_native_dialogs=true
 | 
					use_native_dialogs=true
 | 
				
			||||||
 | 
					skip_confirmation_for_replace_in_session=false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[tools]
 | 
					[tools]
 | 
				
			||||||
terminal_cmd=konsole "%c"
 | 
					terminal_cmd=konsole "%c"
 | 
				
			||||||
@@ -156,6 +157,7 @@ print_page_numbers=true
 | 
				
			|||||||
print_page_header=true
 | 
					print_page_header=true
 | 
				
			||||||
page_header_basename=false
 | 
					page_header_basename=false
 | 
				
			||||||
page_header_datefmt=%c
 | 
					page_header_datefmt=%c
 | 
				
			||||||
 | 
					print_cmd_common_format=lpr '%d/%f'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[VTE]
 | 
					[VTE]
 | 
				
			||||||
load_vte=true
 | 
					load_vte=true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,25 +43,21 @@
 | 
				
			|||||||
# my setup
 | 
					# my setup
 | 
				
			||||||
[core]
 | 
					[core]
 | 
				
			||||||
	editor = vim
 | 
						editor = vim
 | 
				
			||||||
	pager = delta
 | 
						pager = PAGER=less delta
 | 
				
			||||||
	whitespace = -trailing-space,-space-before-tab
 | 
						whitespace = -trailing-space,-space-before-tab
 | 
				
			||||||
	compression = 9  # trade cpu for network
 | 
						compression = 9  # trade cpu for network
 | 
				
			||||||
[alias]
 | 
					[alias]
 | 
				
			||||||
	# * replaced by git-extras
 | 
					 | 
				
			||||||
	# * (alias) aliases = !git config -l | grep ^alias | cut -c 7- | sort # List all aliases.  Stolen from here: https://twitter.com/TrevorBramble/status/774292970681937920
 | 
					 | 
				
			||||||
	branch-default = !git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
 | 
					 | 
				
			||||||
	# * branches (↓) = for-each-ref --sort=-committerdate refs --format=\"%(authordate:iso8601)\t%(color:blue)%(refname:short)%(HEAD)\t%(if:notequals="")%(upstream:short)%(then)→ %(upstream:short)%(color:reset)%(else)%(color:yellow)%(objectname:short)%(color:reset)\t%(contents:subject)%(end)\"
 | 
					 | 
				
			||||||
	h-branches = !echo 'brv (git-extras)'
 | 
					 | 
				
			||||||
	tags = tag -l --sort=-creatordate --format='%(refname:short):	[%(creatordate:short)]	%(subject)'
 | 
					 | 
				
			||||||
	# * authors: log-authors = shortlog -ns
 | 
					 | 
				
			||||||
	h-format-htma = !echo '%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset'
 | 
					 | 
				
			||||||
	commit--interactive= !clear && git status && git commit --interactive
 | 
						commit--interactive= !clear && git status && git commit --interactive
 | 
				
			||||||
 | 
						diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color
 | 
				
			||||||
 | 
						notes-json = !git notes | njs -p '$.stdin.lines().map(l=> l.split(\" \")).map(([ id_note, id_commit ])=> ({id_commit, id_note, head: s.$().run`git show ${id_note}`.head().toString().split(\"\\n\")}))' 'o=> JSON.stringify(o, null, \"\t\")'
 | 
				
			||||||
 | 
						submodule-update-merge = submodule update --remote --merge
 | 
				
			||||||
 | 
						symbolic-ref-defaultBranch = !git symbolic-ref refs/remotes/origin/HEAD | cut -d'/' -f4-
 | 
				
			||||||
 | 
						tag-l = tag -l --sort=-creatordate --format='%(refname:short):	[%(creatordate:short)]	%(subject)'
 | 
				
			||||||
 | 
						h-branches = !echo 'brv (git-extras)'
 | 
				
			||||||
 | 
						h-format-htma = !echo '%Cred%h%Creset %Cgreen[%ad] -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset'
 | 
				
			||||||
	h-unstage = !echo reset HEAD --
 | 
						h-unstage = !echo reset HEAD --
 | 
				
			||||||
	h-undoall = !echo reset --soft HEAD^
 | 
						h-undoall = !echo reset --soft HEAD^
 | 
				
			||||||
	diff-dirs = diff --dirstat --find-copies --find-renames --histogram --color
 | 
						h-submodule-delete = !echo 'delete-submodule (git-extras)'
 | 
				
			||||||
	h-submodule-delete = !echo 'delete-submodule (git-extras)' # * delete-submodule: rm-submodule = !git submodule deinit -f $1 && rm -rf .git/modules/$1 && git rm -rf $1
 | 
					 | 
				
			||||||
	submodule-update-merge = submodule update --remote --merge
 | 
					 | 
				
			||||||
	set-upstream-to-current = !git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`
 | 
					 | 
				
			||||||
[diff]
 | 
					[diff]
 | 
				
			||||||
	wsErrorHighlight = all
 | 
						wsErrorHighlight = all
 | 
				
			||||||
	tool = vimdiff
 | 
						tool = vimdiff
 | 
				
			||||||
@@ -78,6 +74,7 @@
 | 
				
			|||||||
	conflictstyle = zdiff3
 | 
						conflictstyle = zdiff3
 | 
				
			||||||
[delta] # [dandavison/delta: A syntax-highlighting pager for git, diff, and grep output](https://github.com/dandavison/delta)
 | 
					[delta] # [dandavison/delta: A syntax-highlighting pager for git, diff, and grep output](https://github.com/dandavison/delta)
 | 
				
			||||||
	syntax-theme= Visual Studio Dark+
 | 
						syntax-theme= Visual Studio Dark+
 | 
				
			||||||
 | 
						dark = true
 | 
				
			||||||
	navigate = true
 | 
						navigate = true
 | 
				
			||||||
	side-by-side = true
 | 
						side-by-side = true
 | 
				
			||||||
	line-numbers = true
 | 
						line-numbers = true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,8 +21,8 @@
 | 
				
			|||||||
			"exec": "yes",
 | 
								"exec": "yes",
 | 
				
			||||||
			"description": "AI Browser",
 | 
								"description": "AI Browser",
 | 
				
			||||||
			"glare": "AppImage",
 | 
								"glare": "AppImage",
 | 
				
			||||||
			"last_update": "2025-04-01T05:57:12Z",
 | 
								"last_update": "2025-06-09T14:57:33Z",
 | 
				
			||||||
			"version": "3.8.0",
 | 
								"version": "3.9.0",
 | 
				
			||||||
			"downloads": "/home/jaandrle/bin/pinokio"
 | 
								"downloads": "/home/jaandrle/bin/pinokio"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -136,9 +136,9 @@
 | 
				
			|||||||
			"group": "nondev",
 | 
								"group": "nondev",
 | 
				
			||||||
			"file_name": "fedistar.appimage",
 | 
								"file_name": "fedistar.appimage",
 | 
				
			||||||
			"exec": "yes",
 | 
								"exec": "yes",
 | 
				
			||||||
			"last_update": "2025-04-08T11:56:38Z",
 | 
								"last_update": "2025-07-29T14:08:34Z",
 | 
				
			||||||
			"downloads": "/home/jaandrle/bin/fedistar.appimage",
 | 
								"downloads": "/home/jaandrle/bin/fedistar.appimage",
 | 
				
			||||||
			"version": "v1.11.3",
 | 
								"version": "v1.11.8",
 | 
				
			||||||
			"glare": ".*amd64.*.AppImage"
 | 
								"glare": ".*amd64.*.AppImage"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -148,9 +148,9 @@
 | 
				
			|||||||
			"group": "ai",
 | 
								"group": "ai",
 | 
				
			||||||
			"file_name": "ollama",
 | 
								"file_name": "ollama",
 | 
				
			||||||
			"exec": "yes",
 | 
								"exec": "yes",
 | 
				
			||||||
			"last_update": "2025-04-26T09:16:02Z",
 | 
								"last_update": "2025-08-25T18:04:05Z",
 | 
				
			||||||
			"downloads": "/home/jaandrle/bin/ollama",
 | 
								"downloads": "/home/jaandrle/bin/ollama",
 | 
				
			||||||
			"version": "v0.6.7-rc1",
 | 
								"version": "v0.11.7",
 | 
				
			||||||
			"glare": "linux-amd64"
 | 
								"glare": "linux-amd64"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -173,8 +173,8 @@
 | 
				
			|||||||
			"file_name": "vim",
 | 
								"file_name": "vim",
 | 
				
			||||||
			"exec": "yes",
 | 
								"exec": "yes",
 | 
				
			||||||
			"downloads": "/home/jaandrle/bin/vim",
 | 
								"downloads": "/home/jaandrle/bin/vim",
 | 
				
			||||||
			"version": "v9.1.1355",
 | 
								"version": "v9.1.1696",
 | 
				
			||||||
			"last_update": "2025-04-30T01:25:38Z",
 | 
								"last_update": "2025-08-27T01:22:07Z",
 | 
				
			||||||
			"glare": "GVim.*x86_64.*.AppImage"
 | 
								"glare": "GVim.*x86_64.*.AppImage"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -184,9 +184,9 @@
 | 
				
			|||||||
			"group": "dev",
 | 
								"group": "dev",
 | 
				
			||||||
			"file_name": "escrcpy.appimage",
 | 
								"file_name": "escrcpy.appimage",
 | 
				
			||||||
			"exec": "yes",
 | 
								"exec": "yes",
 | 
				
			||||||
			"last_update": "2025-04-27T07:04:58Z",
 | 
								"last_update": "2025-07-15T10:25:01Z",
 | 
				
			||||||
			"downloads": "/home/jaandrle/bin/escrcpy.appimage",
 | 
								"downloads": "/home/jaandrle/bin/escrcpy.appimage",
 | 
				
			||||||
			"version": "v1.29.6",
 | 
								"version": "v1.30.2",
 | 
				
			||||||
			"glare": ".*x86_64.*.AppImage"
 | 
								"glare": ".*x86_64.*.AppImage"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -208,9 +208,9 @@
 | 
				
			|||||||
			"group": "ai",
 | 
								"group": "ai",
 | 
				
			||||||
			"file_name": "jan",
 | 
								"file_name": "jan",
 | 
				
			||||||
			"exec": "yes",
 | 
								"exec": "yes",
 | 
				
			||||||
			"last_update": "2025-03-24T02:02:04Z",
 | 
								"last_update": "2025-08-14T09:29:09Z",
 | 
				
			||||||
			"downloads": "/home/jaandrle/bin/jan",
 | 
								"downloads": "/home/jaandrle/bin/jan",
 | 
				
			||||||
			"version": "v0.5.16",
 | 
								"version": "v0.6.8",
 | 
				
			||||||
			"glare": ".*x86_64.*.AppImage"
 | 
								"glare": ".*x86_64.*.AppImage"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,147 +0,0 @@
 | 
				
			|||||||
[ColorEffects:Disabled]
 | 
					 | 
				
			||||||
Color=56,56,56
 | 
					 | 
				
			||||||
ColorAmount=0
 | 
					 | 
				
			||||||
ColorEffect=0
 | 
					 | 
				
			||||||
ContrastAmount=0.65
 | 
					 | 
				
			||||||
ContrastEffect=1
 | 
					 | 
				
			||||||
IntensityAmount=0.1
 | 
					 | 
				
			||||||
IntensityEffect=2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[ColorEffects:Inactive]
 | 
					 | 
				
			||||||
ChangeSelectionColor=true
 | 
					 | 
				
			||||||
Color=112,111,110
 | 
					 | 
				
			||||||
ColorAmount=0.025
 | 
					 | 
				
			||||||
ColorEffect=2
 | 
					 | 
				
			||||||
ContrastAmount=0.1
 | 
					 | 
				
			||||||
ContrastEffect=2
 | 
					 | 
				
			||||||
Enable=false
 | 
					 | 
				
			||||||
IntensityAmount=0
 | 
					 | 
				
			||||||
IntensityEffect=0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Button]
 | 
					 | 
				
			||||||
BackgroundAlternate=30,87,116
 | 
					 | 
				
			||||||
BackgroundNormal=49,54,59
 | 
					 | 
				
			||||||
DecorationFocus=240,84,76
 | 
					 | 
				
			||||||
DecorationHover=240,84,76
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Complementary]
 | 
					 | 
				
			||||||
BackgroundAlternate=30,87,116
 | 
					 | 
				
			||||||
BackgroundNormal=42,46,50
 | 
					 | 
				
			||||||
DecorationFocus=61,174,233
 | 
					 | 
				
			||||||
DecorationHover=61,174,233
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Header]
 | 
					 | 
				
			||||||
BackgroundAlternate=42,46,50
 | 
					 | 
				
			||||||
BackgroundNormal=49,54,59
 | 
					 | 
				
			||||||
DecorationFocus=61,174,233
 | 
					 | 
				
			||||||
DecorationHover=61,174,233
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Header][Inactive]
 | 
					 | 
				
			||||||
BackgroundAlternate=49,54,59
 | 
					 | 
				
			||||||
BackgroundNormal=42,46,50
 | 
					 | 
				
			||||||
DecorationFocus=61,174,233
 | 
					 | 
				
			||||||
DecorationHover=61,174,233
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Selection]
 | 
					 | 
				
			||||||
BackgroundAlternate=30,87,116
 | 
					 | 
				
			||||||
BackgroundNormal=240,84,76
 | 
					 | 
				
			||||||
DecorationFocus=240,84,76
 | 
					 | 
				
			||||||
DecorationHover=240,84,76
 | 
					 | 
				
			||||||
ForegroundActive=252,252,252
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=253,188,75
 | 
					 | 
				
			||||||
ForegroundNegative=176,55,69
 | 
					 | 
				
			||||||
ForegroundNeutral=198,92,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=23,104,57
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Tooltip]
 | 
					 | 
				
			||||||
BackgroundAlternate=42,46,50
 | 
					 | 
				
			||||||
BackgroundNormal=49,54,59
 | 
					 | 
				
			||||||
DecorationFocus=240,84,76
 | 
					 | 
				
			||||||
DecorationHover=240,84,76
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:View]
 | 
					 | 
				
			||||||
BackgroundAlternate=35,38,41
 | 
					 | 
				
			||||||
BackgroundNormal=27,30,32
 | 
					 | 
				
			||||||
DecorationFocus=240,84,76
 | 
					 | 
				
			||||||
DecorationHover=240,84,76
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Colors:Window]
 | 
					 | 
				
			||||||
BackgroundAlternate=49,54,59
 | 
					 | 
				
			||||||
BackgroundNormal=42,46,50
 | 
					 | 
				
			||||||
DecorationFocus=240,84,76
 | 
					 | 
				
			||||||
DecorationHover=240,84,76
 | 
					 | 
				
			||||||
ForegroundActive=61,174,233
 | 
					 | 
				
			||||||
ForegroundInactive=161,169,177
 | 
					 | 
				
			||||||
ForegroundLink=29,153,243
 | 
					 | 
				
			||||||
ForegroundNegative=218,68,83
 | 
					 | 
				
			||||||
ForegroundNeutral=246,116,0
 | 
					 | 
				
			||||||
ForegroundNormal=252,252,252
 | 
					 | 
				
			||||||
ForegroundPositive=39,174,96
 | 
					 | 
				
			||||||
ForegroundVisited=155,89,182
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[General]
 | 
					 | 
				
			||||||
ColorScheme=BreezeDark
 | 
					 | 
				
			||||||
Name=Breeze Tmavé (numix)
 | 
					 | 
				
			||||||
shadeSortColumn=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[KDE]
 | 
					 | 
				
			||||||
contrast=4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[WM]
 | 
					 | 
				
			||||||
activeBackground=49,54,59
 | 
					 | 
				
			||||||
activeBlend=252,252,252
 | 
					 | 
				
			||||||
activeForeground=252,252,252
 | 
					 | 
				
			||||||
inactiveBackground=33,38,43
 | 
					 | 
				
			||||||
inactiveBlend=161,169,177
 | 
					 | 
				
			||||||
inactiveForeground=161,169,177
 | 
					 | 
				
			||||||
@@ -3,7 +3,7 @@ AntiAliasFonts=true
 | 
				
			|||||||
BoldIntense=true
 | 
					BoldIntense=true
 | 
				
			||||||
ColorScheme=DarkPastels
 | 
					ColorScheme=DarkPastels
 | 
				
			||||||
DimmValue=54
 | 
					DimmValue=54
 | 
				
			||||||
Font=Ubuntu Mono,9,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium
 | 
					Font=BlexMono Nerd Font Mono Medium,8,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Regular
 | 
				
			||||||
UseFontLineChararacters=true
 | 
					UseFontLineChararacters=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[General]
 | 
					[General]
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,37 @@
 | 
				
			|||||||
 | 
					vim9script
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unlet b:current_syntax
 | 
					unlet b:current_syntax
 | 
				
			||||||
syntax include @Yaml syntax/yaml.vim
 | 
					syntax include @Yaml syntax/yaml.vim
 | 
				
			||||||
syntax region yamlFrontmatter start=/\%^---$/ end=/^---$/ keepend contains=@Yaml
 | 
					syntax region yamlFrontmatter start=/\%^---$/ end=/^---$/ keepend contains=@Yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# MarkdownLinkConceal ----------------------------------------------------{{{1
 | 
				
			||||||
 | 
					execute
 | 
				
			||||||
 | 
					    \ 'syntax region markdownLink matchgroup=markdownLinkDelimiter ' ..
 | 
				
			||||||
 | 
					    \ 'start="(" end=")" contains=markdownUrl keepend contained conceal'
 | 
				
			||||||
 | 
					execute
 | 
				
			||||||
 | 
					    \ 'syntax region markdownLinkText matchgroup=markdownLinkTextDelimiter ' ..
 | 
				
			||||||
 | 
					    \ 'start="!\=\[\%(\_[^][]*\%(\[\_[^][]*\]\_[^][]*\)*]\%([[(]\)\)\@=" ' ..
 | 
				
			||||||
 | 
					    \ 'end="\]\%([[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite ' ..
 | 
				
			||||||
 | 
					    \ 'contains=@markdownInline,markdownLineStart concealends'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Checkbox Syntax Fix ----------------------------------------------------{{{1
 | 
				
			||||||
 | 
					# Correct the checkbox syntax highlighting issue from
 | 
				
			||||||
 | 
					# fix: https://github.com/tpope/vim-markdown/issues/212
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Allow user to customize checkbox symbols, default: [ ] [.] [o] [O] [x] [X] [-]
 | 
				
			||||||
 | 
					g:markdown_checkbox_symbols = get(g:, 'markdown_checkbox_symbols', ' .oOxX-')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build regex pattern for list item + checkbox
 | 
				
			||||||
 | 
					var list_pat = '\%(\d\+\.\|[aAiI]\.\|[*+-]\)'
 | 
				
			||||||
 | 
					var checkbox_chars = escape(g:markdown_checkbox_symbols, '^-[]')
 | 
				
			||||||
 | 
					var checkbox_pat = '^\s*' .. list_pat .. '\s*\[[' .. checkbox_chars .. ']\]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Define checkbox syntax group
 | 
				
			||||||
 | 
					execute('syn match markdownTodo "' .. checkbox_pat .. '" contains=markdownTodoDone')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Match the symbol inside the checkbox
 | 
				
			||||||
 | 
					execute('syn match markdownTodoDone "[' .. checkbox_chars .. ']" containedin=markdownTodo contained')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Optional: highlight style (comment out to use theme default)
 | 
				
			||||||
 | 
					hi def link markdownTodo         markdownListMarker
 | 
				
			||||||
 | 
					hi def link markdownTodoDone     markdownBold
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,8 @@
 | 
				
			|||||||
	"html.autoCreateQuotes": false,
 | 
						"html.autoCreateQuotes": false,
 | 
				
			||||||
	"javascript.preferences.quoteStyle": "double",
 | 
						"javascript.preferences.quoteStyle": "double",
 | 
				
			||||||
	"javascript.preferences.importModuleSpecifierEnding": "js",
 | 
						"javascript.preferences.importModuleSpecifierEnding": "js",
 | 
				
			||||||
	"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
 | 
						"javascript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": true,
 | 
				
			||||||
 | 
						"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": true,
 | 
				
			||||||
	"___eslint.options": {
 | 
						"___eslint.options": {
 | 
				
			||||||
		"overrideConfig":{
 | 
							"overrideConfig":{
 | 
				
			||||||
			"extends": [
 | 
								"extends": [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,7 +46,7 @@ let g:user_tips_list= [
 | 
				
			|||||||
	\ ':lhistory :lolder :lnewer',
 | 
						\ ':lhistory :lolder :lnewer',
 | 
				
			||||||
	\ ':[m]ove :[co]py (:t) :p :#',
 | 
						\ ':[m]ove :[co]py (:t) :p :#',
 | 
				
			||||||
	\ ':help i_CTRL-<tab> … i_CTRL-Y … i<c-u>',
 | 
						\ ':help i_CTRL-<tab> … i_CTRL-Y … i<c-u>',
 | 
				
			||||||
	\ '*grep onchange -r . --include=*.\{js,md\} …or http://jdem.cz/fgytv8',
 | 
						\ '*grep onchange -r . --include=*.\{js,md\}',
 | 
				
			||||||
	\ '%bdelete|edit #|normal `"',
 | 
						\ '%bdelete|edit #|normal `"',
 | 
				
			||||||
	\ ':diffget :diffput c] [c',
 | 
						\ ':diffget :diffput c] [c',
 | 
				
			||||||
	\ ':chistory :colder :cnewer',
 | 
						\ ':chistory :colder :cnewer',
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										385
									
								
								.vimrc
									
									
									
									
									
								
							
							
						
						
									
										385
									
								
								.vimrc
									
									
									
									
									
								
							@@ -1,385 +0,0 @@
 | 
				
			|||||||
""" VIM config file | Jan Andrle | 2025-04-05 (VIM >=9.1 AppImage)
 | 
					 | 
				
			||||||
"" #region B – Base
 | 
					 | 
				
			||||||
	scriptencoding utf-8 | set encoding=utf-8
 | 
					 | 
				
			||||||
	set pythonthreedll=/lib/x86_64-linux-gnu/libpython3.12.so.1.0
 | 
					 | 
				
			||||||
	let $BASH_ENV = "~/.bashrc"
 | 
					 | 
				
			||||||
	set runtimepath^=~/.vim/bundle/*
 | 
					 | 
				
			||||||
	packadd! matchit
 | 
					 | 
				
			||||||
	packadd! cfilter
 | 
					 | 
				
			||||||
	let g:ft_man_folding_enable = 1
 | 
					 | 
				
			||||||
	runtime! ftplugin/man.vim
 | 
					 | 
				
			||||||
	" set hidden
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	set title
 | 
					 | 
				
			||||||
	colorscheme codedark
 | 
					 | 
				
			||||||
	set updatetime=300 "TODO DEL lazyredraw
 | 
					 | 
				
			||||||
	set noerrorbells novisualbell
 | 
					 | 
				
			||||||
	set belloff=esc
 | 
					 | 
				
			||||||
	set confirm
 | 
					 | 
				
			||||||
	set guioptions-=T
 | 
					 | 
				
			||||||
	set shortmess-=i
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	cabbrev <expr> %PWD%  execute('pwd')
 | 
					 | 
				
			||||||
	cabbrev <expr> %CD%   fnameescape(expand('%:p:h'))
 | 
					 | 
				
			||||||
	cabbrev <expr> %CS%   mini_enhancement#selectedText()
 | 
					 | 
				
			||||||
	cabbrev <expr> %CW%   expand('<cword>')
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	let mapleader = "\\"
 | 
					 | 
				
			||||||
	" better for my keyboard, but maybe use `:help keymap`?
 | 
					 | 
				
			||||||
	nnoremap § @
 | 
					 | 
				
			||||||
	nnoremap §§ @@
 | 
					 | 
				
			||||||
	nnoremap ů ;
 | 
					 | 
				
			||||||
	nnoremap ; :
 | 
					 | 
				
			||||||
	nnoremap <leader>u U
 | 
					 | 
				
			||||||
	nnoremap U <c-r>
 | 
					 | 
				
			||||||
	nnoremap ž <c-]>
 | 
					 | 
				
			||||||
	nnoremap <c-up> <c-y>
 | 
					 | 
				
			||||||
	nnoremap <c-down> <c-e>
 | 
					 | 
				
			||||||
	" <c-bs>
 | 
					 | 
				
			||||||
	imap  <c-w>
 | 
					 | 
				
			||||||
	cmap  <c-w>
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	if has("patch-8.1.0360")
 | 
					 | 
				
			||||||
		set diffopt+=algorithm:patience,indent-heuristic | endif
 | 
					 | 
				
			||||||
	set diffopt+=iwhite
 | 
					 | 
				
			||||||
	augroup vimrc_help
 | 
					 | 
				
			||||||
		autocmd!
 | 
					 | 
				
			||||||
		autocmd BufEnter *.txt if &buftype == 'help' | wincmd L | vertical resize 90 | endif
 | 
					 | 
				
			||||||
	augroup END
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	""" #region BB – Build-in plugins
 | 
					 | 
				
			||||||
	" https://github.com/rbtnn/vim-gloaded/blob/master/plugin/gloaded.vim
 | 
					 | 
				
			||||||
	let g:loaded_vimballPlugin = 1 " :h pi_vimball … for plugin creators
 | 
					 | 
				
			||||||
	let g:vifm_replace_netrw= 1 | let g:loaded_netrw= 1 | let g:loaded_netrwPlugin= 1  " this line needs to be commented to let vim dowmload spelllangs!!! … see http://jdem.cz/fgyw25
 | 
					 | 
				
			||||||
	""" #endregion BB
 | 
					 | 
				
			||||||
"" #endregion B
 | 
					 | 
				
			||||||
"" #region H – Helpers
 | 
					 | 
				
			||||||
	" TODO DEL
 | 
					 | 
				
			||||||
	command! -nargs=?  CLscratch 10split | enew | setlocal buftype=nofile bufhidden=wipe noswapfile nobuflisted | if <q-args>!='' | execute 'normal "'.<q-args>.'p' | endif | nnoremap <buffer> ;q :q<cr>
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	cabbrev ALTR ALTredrawSyntax
 | 
					 | 
				
			||||||
	command! -nargs=0
 | 
					 | 
				
			||||||
		\ ALTredrawSyntax edit | exec 'normal `"' | exec 'set ft='.&ft
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	let g:quickfix_len= 0
 | 
					 | 
				
			||||||
	function! QuickFixStatus() abort
 | 
					 | 
				
			||||||
		hi! link User1 StatusLine
 | 
					 | 
				
			||||||
		if !g:quickfix_len	| return 'Ø' | endif
 | 
					 | 
				
			||||||
		if g:quickfix_len>0 | return g:quickfix_len | endif
 | 
					 | 
				
			||||||
		let type= &termguicolors ? 'gui' : 'cterm'
 | 
					 | 
				
			||||||
		execute 'hi! User1 '.type.'bg='.synIDattr(synIDtrans(hlID('StatusLine')), 'bg').
 | 
					 | 
				
			||||||
			\' '.type.'fg='.synIDattr(synIDtrans(hlID('WarningMsg')), 'fg')
 | 
					 | 
				
			||||||
		return -g:quickfix_len
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
	function! s:QuickFixCmdPost() abort
 | 
					 | 
				
			||||||
		let q_len= len(getqflist())
 | 
					 | 
				
			||||||
		let g:quickfix_len= q_len ? -q_len : len(getloclist(0))
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
	augroup quickfix
 | 
					 | 
				
			||||||
		autocmd!
 | 
					 | 
				
			||||||
		autocmd QuickFixCmdPost * call <sid>QuickFixCmdPost()
 | 
					 | 
				
			||||||
	augroup END
 | 
					 | 
				
			||||||
"" #endregion H
 | 
					 | 
				
			||||||
"" #region SLH – Status Line + Command Line + History (general) + Sessions + File Update, …
 | 
					 | 
				
			||||||
	set showcmd cmdheight=2 showmode
 | 
					 | 
				
			||||||
	set wildmenu wildoptions=pum,fuzzy
 | 
					 | 
				
			||||||
	"" wildmode=list:longest,list:full									" Tab autocomplete in command mode
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	cabbrev wbw w<bar>bw
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	set sessionoptions-=options
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	function! NumberOfBuffers()
 | 
					 | 
				
			||||||
		return len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
	set laststatus=2																	 " Show status line on startup
 | 
					 | 
				
			||||||
	set statusline+=··≡·%{QuickFixStatus()}%*··»·%{user_tips#current()}%*··%=
 | 
					 | 
				
			||||||
	set statusline+=(%{NumberOfBuffers()})··%<%f%R\%M··▶·%{&fileformat}·%{&fileencoding?&fileencoding:&encoding}·%{&filetype}
 | 
					 | 
				
			||||||
	set statusline+=··
 | 
					 | 
				
			||||||
	" set statusline+=··∷·%{mini_sessions#name('–')}·· 
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	set history=500													  " How many lines of (cmd) history has to remember
 | 
					 | 
				
			||||||
	set nobackup nowritebackup noswapfile		  " …there is issue #649 (for servers) and I’m using git/system backups
 | 
					 | 
				
			||||||
	try
 | 
					 | 
				
			||||||
		set undodir=~/.vim/undodir undofile | catch | endtry
 | 
					 | 
				
			||||||
	command! CLundotree UndotreeToggle | echo 'Use also :undolist :earlier :later' | UndotreeFocus
 | 
					 | 
				
			||||||
	command! SETundoClear let old_undolevels=&undolevels | set undolevels=-1 | exe "normal a \<BS>\<Esc>" | let &undolevels=old_undolevels | unlet old_undolevels | write
 | 
					 | 
				
			||||||
"" #endregion SLH
 | 
					 | 
				
			||||||
"" #region LLW – Left Column + Line + Wrap + Scrolling
 | 
					 | 
				
			||||||
	set signcolumn=yes
 | 
					 | 
				
			||||||
	set cursorline cursorcolumn															" Always show current position
 | 
					 | 
				
			||||||
	set number foldcolumn=2								  " enable line numbers and add a bit extra margin to the left
 | 
					 | 
				
			||||||
	set colorcolumn=+1																				  " …marker visual
 | 
					 | 
				
			||||||
	" TODO DEL
 | 
					 | 
				
			||||||
	command -nargs=? SETtextwidth if <q-args> | let &textwidth=<q-args> | let &colorcolumn='<args>,120,240' | else | let &textwidth=250 | let &colorcolumn='120,240' | endif
 | 
					 | 
				
			||||||
	SETtextwidth																	" wraping lines and show two lines
 | 
					 | 
				
			||||||
	set nowrap											" Don't wrap long lines by default
 | 
					 | 
				
			||||||
	set breakindent breakindentopt=shift:2 showbreak=↳ 
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	set scrolloff=5 sidescrolloff=10										" offset for lines/columns when scrolling
 | 
					 | 
				
			||||||
"" #endregion LLW
 | 
					 | 
				
			||||||
"" #region CN – Clipboard + Navigation throught Buffers + Windows + … (CtrlP)
 | 
					 | 
				
			||||||
	set pastetoggle=<F2> | nnoremap <F2> :set invpaste paste?<CR>
 | 
					 | 
				
			||||||
	function! JaaCopyRegister()
 | 
					 | 
				
			||||||
		echo "Copy content of the register: "
 | 
					 | 
				
			||||||
		let sourceReg = nr2char(getchar())
 | 
					 | 
				
			||||||
		if sourceReg !~# '\v^[a-z0-9"*+]'
 | 
					 | 
				
			||||||
			echon sourceReg." – invalid register"
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
		echon sourceReg."\ninto the register: "
 | 
					 | 
				
			||||||
		let destinationReg = nr2char(getchar())
 | 
					 | 
				
			||||||
		if destinationReg !~# '\v^[a-z0-9"*+]'
 | 
					 | 
				
			||||||
			echon destinationReg." – invalid register"
 | 
					 | 
				
			||||||
			return
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
		call setreg(destinationReg, getreg(sourceReg, 1))
 | 
					 | 
				
			||||||
		echon destinationReg
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
	nnoremap <silent> <leader>" :call JaaCopyRegister()<cr>
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	" CtrlP previously
 | 
					 | 
				
			||||||
	nmap <expr> š buffer_number("#")==-1 ? ":CocList --normal buffers\<cr>" : "\<c-^>"
 | 
					 | 
				
			||||||
	nmap ě :CocList 
 | 
					 | 
				
			||||||
	nmap <leader>3 :buffers<cr>:b<space>
 | 
					 | 
				
			||||||
	nmap <leader>š :CocList buffers<cr> | :syntax on<cr>
 | 
					 | 
				
			||||||
	nmap č <leader>š
 | 
					 | 
				
			||||||
"" #endregion CN
 | 
					 | 
				
			||||||
"" #region FOS – File(s) + Openning + Saving
 | 
					 | 
				
			||||||
	set autowrite autoread | autocmd FocusGained,BufEnter *.* checktime
 | 
					 | 
				
			||||||
	set modeline
 | 
					 | 
				
			||||||
	function! JaaAppendModeline(additional= 0)
 | 
					 | 
				
			||||||
		let l:modeline= printf(" vim: set tabstop=%d shiftwidth=%d textwidth=%d %sexpandtab :",
 | 
					 | 
				
			||||||
			\ &tabstop, &shiftwidth, &textwidth, &expandtab ? '' : 'no')
 | 
					 | 
				
			||||||
		let l:modeline= substitute(&commentstring, "%s", l:modeline, "")
 | 
					 | 
				
			||||||
		call append(line("$"), l:modeline)
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		if !a:additional | return 0 | endif
 | 
					 | 
				
			||||||
		if &foldmethod=="marker"
 | 
					 | 
				
			||||||
			let l:modeline= printf(" vim>60: set foldmethod=marker foldmarker=%s :",
 | 
					 | 
				
			||||||
				\ &foldmarker)
 | 
					 | 
				
			||||||
		elseif &foldmethod=="indent"
 | 
					 | 
				
			||||||
			let l:modeline= printf(" vim>60: set foldmethod=indent foldlevel=%d foldnestmax=%d:",
 | 
					 | 
				
			||||||
				\ &foldlevel, &foldnestmax)
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
			return 0
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
		let l:modeline= substitute(&commentstring, "%s", l:modeline, "")
 | 
					 | 
				
			||||||
		call append(line("$"), l:modeline)
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set path+=src/**,app/**,build/**														" File matching for `:find`
 | 
					 | 
				
			||||||
	for ignore in [ '.git', '.npm', 'node_modules' ]
 | 
					 | 
				
			||||||
		exec ':set wildignore+=**'.ignore.'**'
 | 
					 | 
				
			||||||
		exec ':set wildignore+=**/'.ignore.'/**'
 | 
					 | 
				
			||||||
	endfor
 | 
					 | 
				
			||||||
	set wildignore+=*.bmp,*.gif,*.ico,*.jpg,*.png,*.ico
 | 
					 | 
				
			||||||
	set wildignore+=*.pdf,*.psd
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	nmap <leader>e :Vifm<cr>
 | 
					 | 
				
			||||||
	nnoremap gx :silent exec "!xdg-open '".shellescape(substitute(expand('<cfile>'), '?', '\\?', ''), 1)."'" \| redraw!<cr>
 | 
					 | 
				
			||||||
	vnoremap gx :silent exec "!xdg-open '".shellescape(substitute(mini_enhancement#selectedText(), '?', '\\?', ''), 1)."'" \| redraw!<cr>
 | 
					 | 
				
			||||||
"" #endregion FOS
 | 
					 | 
				
			||||||
"" #region EN – Editor navigation + search
 | 
					 | 
				
			||||||
	set grepprg=LC_ALL=C\ grep\ -HRIns
 | 
					 | 
				
			||||||
	set hlsearch incsearch														  " highlight search, start when typing
 | 
					 | 
				
			||||||
	if maparg('<C-L>', 'n') ==# ''
 | 
					 | 
				
			||||||
		nnoremap <silent> <c-l> :nohlsearch<c-r>=has('diff')?'<bar>diffupdate':''<cr><cr><c-l> | endif " TODO? <bar>syntax sync fromstart
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	let g:markbar_persist_mark_names = v:false
 | 
					 | 
				
			||||||
	let g:markbar_cache_with_hidden_buffers = v:false							" last buffers are reopened as hidden https://github.com/Yilin-Yang/vim-markbar/blob/9f5a948d44652074bf2b90d3da6a400d8a369ba5/doc/vim-markbar.txt#L136
 | 
					 | 
				
			||||||
	nmap <Leader>m <Plug>ToggleMarkbar
 | 
					 | 
				
			||||||
"" #endregion EN
 | 
					 | 
				
			||||||
"" #region EA – Editing adjustment + Syntax + White chars + Folds
 | 
					 | 
				
			||||||
	" use <c-v>§ for §
 | 
					 | 
				
			||||||
	inoremap § <esc>
 | 
					 | 
				
			||||||
	set nrformats-=octal
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	let g:htl_css_templates=1
 | 
					 | 
				
			||||||
	let g:markdown_fenced_languages= [ 'javascript', 'js=javascript', 'json', 'html', 'php', 'bash', 'vim', 'vimscript=javascript', 'sass' ]
 | 
					 | 
				
			||||||
	augroup conceal
 | 
					 | 
				
			||||||
		autocmd!
 | 
					 | 
				
			||||||
		au FileType markdown
 | 
					 | 
				
			||||||
			\  syn region markdownLink matchgroup=markdownLinkDelimiter start="(" end=")" contains=markdownUrl keepend contained conceal
 | 
					 | 
				
			||||||
			\| syn region markdownLinkText matchgroup=markdownLinkTextDelimiter start="!\=\[\%(\%(\_[^][]\|\[\_[^][]*\]\)*]\%( \=[[(]\)\)\@=" end="\]\%( \=[[(]\)\@=" nextgroup=markdownLink,markdownId skipwhite contains=@markdownInline,markdownLineStart concealends
 | 
					 | 
				
			||||||
		au FileType markdown,json 
 | 
					 | 
				
			||||||
			\ setlocal conceallevel=2
 | 
					 | 
				
			||||||
	augroup END
 | 
					 | 
				
			||||||
	augroup convenient
 | 
					 | 
				
			||||||
		autocmd FileType markdown,text setlocal keywordprg=dict
 | 
					 | 
				
			||||||
		autocmd FileType git,gitcommit setlocal foldmethod=syntax foldlevel=1
 | 
					 | 
				
			||||||
	augroup END
 | 
					 | 
				
			||||||
	" PARENTHESES plugin junegunn/rainbow_parentheses.vim
 | 
					 | 
				
			||||||
	let g:rainbow#pairs= [['(', ')'], ['[', ']'], [ '{', '}' ]]
 | 
					 | 
				
			||||||
	let g:rainbow#blacklist = [203,9]
 | 
					 | 
				
			||||||
	autocmd VimEnter * try
 | 
					 | 
				
			||||||
		\| call rainbow_parentheses#toggle() | catch | endtry
 | 
					 | 
				
			||||||
	" HIGHLIGHT&YANK plugins (buildin) hlyank & cwordhi.vim
 | 
					 | 
				
			||||||
	packadd hlyank
 | 
					 | 
				
			||||||
	let g:hlyank_duration= 250
 | 
					 | 
				
			||||||
	let g:cwordhi#autoload= 1
 | 
					 | 
				
			||||||
	set showmatch												" Quick highlight oppening bracket/… for currently writted
 | 
					 | 
				
			||||||
	set timeoutlen=1000 ttimeoutlen=0												   " Remove timeout when hitting escape TAB
 | 
					 | 
				
			||||||
	if v:version > 703 || v:version == 703 && has("patch541")
 | 
					 | 
				
			||||||
		set formatoptions+=j | endif							" Delete comment character when joining commented lines
 | 
					 | 
				
			||||||
	set smarttab
 | 
					 | 
				
			||||||
	" TODO DEL
 | 
					 | 
				
			||||||
	command! -nargs=1 SETtab let &shiftwidth=<q-args> | let &tabstop=<q-args> | let &softtabstop=<q-args>
 | 
					 | 
				
			||||||
	SETtab 4
 | 
					 | 
				
			||||||
	set backspace=indent,eol,start					" Allow cursor keys in insert mode:  http://vi.stackexchange.com/a/2163
 | 
					 | 
				
			||||||
	set shiftround autoindent	" round diff shifts to the base of n*shiftwidth,  https://stackoverflow.com/a/18415867
 | 
					 | 
				
			||||||
	filetype plugin indent on
 | 
					 | 
				
			||||||
	" SYNTAX&COLORS
 | 
					 | 
				
			||||||
	if ($TERM =~ '256' && has("termguicolors"))
 | 
					 | 
				
			||||||
		set termguicolors | endif
 | 
					 | 
				
			||||||
	if (&t_Co > 2 || has("gui_running")) && !exists("syntax_on")
 | 
					 | 
				
			||||||
		syntax enable | endif
 | 
					 | 
				
			||||||
	set list listchars=tab:»·,trail:·,extends:#,nbsp:~,space:·		" Highlight spec. chars / Display extra whitespace
 | 
					 | 
				
			||||||
	set redrawtime=10000
 | 
					 | 
				
			||||||
	augroup syntax_sync_min_lines
 | 
					 | 
				
			||||||
		autocmd!
 | 
					 | 
				
			||||||
		autocmd BufEnter * syntax sync fromstart "TODO DEL syn sync minlines=2000
 | 
					 | 
				
			||||||
	augroup END
 | 
					 | 
				
			||||||
	let g:vim_vue_plugin_config = { 'foldexpr': 1, 'attribute': 1, 'keyword': 1 }
 | 
					 | 
				
			||||||
	" SPELL
 | 
					 | 
				
			||||||
	if !has("gui_running")
 | 
					 | 
				
			||||||
		hi clear SpellBad | hi SpellBad cterm=underline,italic | endif
 | 
					 | 
				
			||||||
	command! -nargs=? SETspell if <q-args>==&spelllang || <q-args>=='' | set spell! | else | set spell | set spelllang=<args> | endif | if &spell | set spelllang | endif
 | 
					 | 
				
			||||||
	" EDIT HEPERS
 | 
					 | 
				
			||||||
	nnoremap <leader>o o<space><bs><esc>
 | 
					 | 
				
			||||||
	nnoremap <leader>O O<space><bs><esc>
 | 
					 | 
				
			||||||
	nnoremap <s-k> a<cr><esc>
 | 
					 | 
				
			||||||
	for l in [ 'y', 'p', 'P', 'd' ] | for m in [ 'n', 'v' ]
 | 
					 | 
				
			||||||
		execute m.'map <leader>'.l.' "+'.l | endfor | endfor " no noremap ⇐ https://github.com/jasonccox/vim-wayland-clipboard?tab=readme-ov-file#non-recursive-mappings
 | 
					 | 
				
			||||||
	" TODO DEL: FOLDS
 | 
					 | 
				
			||||||
	" TODO DEL: command! -nargs=0 SETFOLDregions set foldmethod=marker
 | 
					 | 
				
			||||||
	" TODO DEL: command! -nargs=1 SETFOLDindent set foldmethod=indent | let &foldlevel=<q-args> | let &foldnestmax=<q-args>+1
 | 
					 | 
				
			||||||
	" TODO DEL: command! -nargs=* SETFOLDindents set foldmethod=indent | let &foldlevel=split(<q-args>, ' ')[0] | let &foldnestmax=split(<q-args>, ' ')[1]
 | 
					 | 
				
			||||||
	set foldmarker=#region,#endregion
 | 
					 | 
				
			||||||
	" SAVE VIEW
 | 
					 | 
				
			||||||
	set viewoptions=cursor,folds
 | 
					 | 
				
			||||||
	augroup remember__view
 | 
					 | 
				
			||||||
		autocmd!
 | 
					 | 
				
			||||||
		autocmd BufWinLeave *.* if &buflisted | mkview | endif
 | 
					 | 
				
			||||||
		autocmd BufWinEnter *.* silent! loadview
 | 
					 | 
				
			||||||
	augroup END
 | 
					 | 
				
			||||||
"" #endregion EA
 | 
					 | 
				
			||||||
"" #region AI
 | 
					 | 
				
			||||||
let g:codeium_disable_bindings = 1
 | 
					 | 
				
			||||||
imap <script><silent><nowait><expr> <f3><f3> codeium#Accept()
 | 
					 | 
				
			||||||
imap <script><silent><nowait><expr> <f3><w> codeium#AcceptNextWord()
 | 
					 | 
				
			||||||
imap <script><silent><nowait><expr> <f3><j> codeium#AcceptLine()
 | 
					 | 
				
			||||||
imap <f3>n   <Cmd>call codeium#CycleCompletions(1)<CR>
 | 
					 | 
				
			||||||
imap <f3>N   <Cmd>call codeium#CycleCompletions(-1)<CR>
 | 
					 | 
				
			||||||
imap <f3>d   <Cmd>call codeium#Clear()<CR>
 | 
					 | 
				
			||||||
imap <f3>!   <Cmd>call codeium#Complete()<CR>
 | 
					 | 
				
			||||||
"" #endregion AI
 | 
					 | 
				
			||||||
"" #region COC – COC and so on, compilers, code/commands completions
 | 
					 | 
				
			||||||
	let g:coc_global_extensions= ['coc-css', 'coc-docthis', 'coc-emmet', 'coc-emoji', 'coc-git', 'coc-pretty-ts-errors', 'coc-eslint', 'coc-gitmoji', 'coc-html', 'coc-json', 'coc-lists', 'coc-marketplace', 'coc-phpls', 'coc-sh', 'coc-snippets', 'coc-styled-components', 'coc-svg', 'coc-tsserver']
 | 
					 | 
				
			||||||
	" https://github.com/antonk52/cssmodules-language-server
 | 
					 | 
				
			||||||
	call coc#config('languageserver.cssmodules', {
 | 
					 | 
				
			||||||
	\ "command": "cssmodules-language-server",
 | 
					 | 
				
			||||||
	\ "initializationOptions": {"camelCase": "dashes"},
 | 
					 | 
				
			||||||
	\ "filetypes": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
 | 
					 | 
				
			||||||
	\ "requireRootPattern": 0,
 | 
					 | 
				
			||||||
	\ "settings": {}
 | 
					 | 
				
			||||||
	\ })
 | 
					 | 
				
			||||||
	autocmd FileType scss setl iskeyword+=@-@
 | 
					 | 
				
			||||||
	function! CustomKeyWord(word)
 | 
					 | 
				
			||||||
		if(a:word=="gulp_place")
 | 
					 | 
				
			||||||
			highlight link gulp_place ErrorMsg
 | 
					 | 
				
			||||||
			syntax match gulp_place "gulp_place"
 | 
					 | 
				
			||||||
			augroup gulp_place
 | 
					 | 
				
			||||||
				autocmd!
 | 
					 | 
				
			||||||
				autocmd BufEnter *.{js,html} syntax match gulp_place "gulp_place"
 | 
					 | 
				
			||||||
			augroup END
 | 
					 | 
				
			||||||
			return 0
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	set completeopt=menuone,longest,preview "longest vs ,noinsert,noselect
 | 
					 | 
				
			||||||
	inoremap <silent><expr> <F1> coc#pum#visible() ? coc#pum#confirm() : coc#refresh()
 | 
					 | 
				
			||||||
	set wildcharm=<f1>
 | 
					 | 
				
			||||||
	inoremap <silent><expr> <tab> coc#pum#visible() ? coc#pum#next(1) : <sid>check_back_space() ? "\<tab>" : coc#refresh()
 | 
					 | 
				
			||||||
	inoremap <silent><expr> <s-tab> coc#pum#visible() ? coc#pum#prev(1) : "\<c-h>"
 | 
					 | 
				
			||||||
	function! s:check_back_space() abort
 | 
					 | 
				
			||||||
		let col = col('.') - 1
 | 
					 | 
				
			||||||
		return !col || getline('.')[col - 1]  =~# '\s'
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	nmap <silent><nowait> gd <Plug>(coc-definition)
 | 
					 | 
				
			||||||
	command! -nargs=* -complete=customlist,<sid>SCommandCocActionComplete CocAction call CocActionAsync(<f-args>)
 | 
					 | 
				
			||||||
	function s:SCommandCocActionComplete(argLead, cmdLine, cursorPos)
 | 
					 | 
				
			||||||
		return readfile(expand('~/.vim/pack/coc/start/coc.nvim/doc/tags'), 'r')
 | 
					 | 
				
			||||||
			\->filter('v:val =~ ''^CocAction''')
 | 
					 | 
				
			||||||
			\->map({ k, v -> strpart(v, 11, stridx(v, ')')-12) })
 | 
					 | 
				
			||||||
			\->filter({ k, v -> v =~ a:argLead && !v->empty() })
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
					" navigate diagnostics, use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
 | 
					 | 
				
			||||||
	nnoremap <silent> gh :call <sid>show_documentation(expand("<cword>"))<cr>
 | 
					 | 
				
			||||||
	vnoremap <silent> gh :<c-u>call <sid>show_documentation(mini_enhancement#selectedText())<cr>
 | 
					 | 
				
			||||||
	nnoremap <leader>gf :CocList --interactive --normal --input='<c-r>=expand("<cword>")<cr>' files<cr>
 | 
					 | 
				
			||||||
	vnoremap <leader>gf :<c-u>CocList --interactive --normal --input='<c-r>=mini_enhancement#selectedText()<cr>' files<cr>
 | 
					 | 
				
			||||||
	""" #region COCP – Coc popups scroll (Remap <C-f> and <C-b> for scroll float windows/popups.)
 | 
					 | 
				
			||||||
	if has('nvim-0.4.0') || has('patch-8.2.0750')
 | 
					 | 
				
			||||||
		nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
 | 
					 | 
				
			||||||
		nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
 | 
					 | 
				
			||||||
		inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
 | 
					 | 
				
			||||||
		inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
 | 
					 | 
				
			||||||
		vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
 | 
					 | 
				
			||||||
		vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
 | 
					 | 
				
			||||||
	endif
 | 
					 | 
				
			||||||
	""" #endregion COCP
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	command! -nargs=?  CLhelpMy if <q-args>!='' | exec 'map '.<q-args> | else | call popup_notification([
 | 
					 | 
				
			||||||
		\ 'Custom mappings starting: '.mapleader.',§, ů, ;, U, ž',
 | 
					 | 
				
			||||||
		\ 'Custom commands starting: CL, SET, ALT, Vifm, Coc',
 | 
					 | 
				
			||||||
		\ 'Helpful commands: CocAction, CocCommand, CocList',
 | 
					 | 
				
			||||||
		\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 6000 }) | endif
 | 
					 | 
				
			||||||
	nnoremap <c-g> :CLwhereami<cr>
 | 
					 | 
				
			||||||
	command! CLwhereami			   :call popup_notification([
 | 
					 | 
				
			||||||
										\expand('%:t').( coc#status() != "" ? '/'.CocAction("getCurrentFunctionSymbol")."\t…\t".coc#status() : '' ),
 | 
					 | 
				
			||||||
										\"– – –",
 | 
					 | 
				
			||||||
										\"Line:\t".line('.').' / '.line('$'),
 | 
					 | 
				
			||||||
										\"Column:\t".col('.').' / '.col('$'),
 | 
					 | 
				
			||||||
										\"Path:\t".expand('%:p:h')
 | 
					 | 
				
			||||||
										\], #{ line: &lines-3, pos: 'botleft', moved: 'any', close: 'button', time: 6000 })
 | 
					 | 
				
			||||||
	command! CLhelpCocPlug		   call feedkeys(':<c-u>help <Plug>(coc ', 'tn')
 | 
					 | 
				
			||||||
	command! CLhelpCocAction	   call feedkeys(':<c-u>help CocAction(''	', 'tn')
 | 
					 | 
				
			||||||
	command! -nargs=? -bang
 | 
					 | 
				
			||||||
		   \ CLreplace			   call feedkeys(':<c-u>'.(<q-args>==''?'.':<q-args>).'s/'.("<bang>"=='!'?mini_enhancement#selectedText():expand('<cword>')).'//cgODODOD', 'tn')
 | 
					 | 
				
			||||||
	command! CLrepeatLastChange    call feedkeys('/\V<C-r>"<CR>cgn<C-a><Esc>', 'tn')
 | 
					 | 
				
			||||||
	command! CLjshintGlobal		   normal yiwmm?\/\* global<cr><c-l>f*hi, p`m
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	function! AIcodeFn(range, ...) range abort
 | 
					 | 
				
			||||||
		let l:instruction = 'Hi, can you help me with ' . &filetype . 'code? Thanks in advance. I would like to: '
 | 
					 | 
				
			||||||
		if a:0
 | 
					 | 
				
			||||||
			let l:instruction = l:instruction .  a:1
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
		if a:range
 | 
					 | 
				
			||||||
			'<,'>call vim_ai#AIRun(a:range, {}, l:instruction)
 | 
					 | 
				
			||||||
		else
 | 
					 | 
				
			||||||
			call vim_ai#AIRun(a:range, {}, l:instruction)
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
	command! -range -nargs=? AIcode <line1>,<line2>call AIcodeFn(<range>, <f-args>)
 | 
					 | 
				
			||||||
	vnoremap <f1> :AI<f1>
 | 
					 | 
				
			||||||
	nnoremap <f1> :AI<f1>
 | 
					 | 
				
			||||||
	command! -nargs=?
 | 
					 | 
				
			||||||
		   \ CLcheat call cheat_copilot#open(<q-args>==''?&filetype:<q-args>)
 | 
					 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	function! s:show_documentation(word)
 | 
					 | 
				
			||||||
		if (!CocAction('hasProvider', 'hover'))
 | 
					 | 
				
			||||||
			if &filetype=='man' | call dist#man#PreGetPage(0) | return 0 | endif
 | 
					 | 
				
			||||||
			return feedkeys('K', 'in')
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
		if &filetype=='html' && coc#source#custom_elements#hover(a:word)!=0
 | 
					 | 
				
			||||||
			return 0
 | 
					 | 
				
			||||||
		endif
 | 
					 | 
				
			||||||
		
 | 
					 | 
				
			||||||
		return CocActionAsync('doHover')
 | 
					 | 
				
			||||||
	endfunction
 | 
					 | 
				
			||||||
"" #endregion COC
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
" vim: set textwidth=250 :
 | 
					 | 
				
			||||||
" vim>60: set foldmethod=marker foldmarker=#region,#endregion :
 | 
					 | 
				
			||||||
							
								
								
									
										84
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										84
									
								
								README.md
									
									
									
									
									
								
							@@ -40,55 +40,38 @@ Sekce obsahuje log změn v Tuxedo laptopu s KDE Neon.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
- [Aloxaf/silicon: Create beautiful image of your source code.](https://github.com/Aloxaf/silicon) {DONE <2024-03-07> *utils* agenda}$
 | 
					- [Aloxaf/silicon: Create beautiful image of your source code.](https://github.com/Aloxaf/silicon) {DONE <2024-03-07> *utils* agenda}$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### KDE Neon 6.0 (22.04)
 | 
					### TUXEDO OS (24.04.2 LTS / 2025-07-15)
 | 
				
			||||||
{NEXT <2024-03-20> *tilling* *hud* *html-wallpaper* *virtual-desktop* *klipper* agenda}$
 | 
					- [ ] (temporaly created new) `~/.config/plasma-org.kde.plasma.desktop-appletsrc.bak` see below
 | 
				
			||||||
 | 
					- [x] fixed by update (2025-07-17) — :bug: kwallet6 (pam) autounlock
 | 
				
			||||||
 | 
					- [ ] :zap: disabled (`Hiden`) for `/home/jaandrle/.config/autostart/re.sonny.Eloquent.desktop`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- mostly OK
 | 
					
 | 
				
			||||||
- [ ] Kup is missing in Settings (only restore files option is available): *investigation → report a bug*
 | 
					```terminal
 | 
				
			||||||
- [ ] !!! Event calendar widget (in progress [ALikesToCode/plasma-applet-eventcalendar at plasma-6](https://github.com/ALikesToCode/plasma-applet-eventcalendar/tree/plasma-6))
 | 
					plasmashell --replace
 | 
				
			||||||
- [ ] tilling → try to use native, try to use [zeroxoneafour/polonium: Tiling window manager for KWin 5.27](https://github.com/zeroxoneafour/polonium) (when there will be a new release)
 | 
					
 | 
				
			||||||
- [ ] WIP: hud ([uszie/plasma-hud), in KDE Plasma.](https://github.com/uszie/plasma-hud)/[Zren/plasma-hud](https://github.com/Zren/plasma-hud) still works on X11), but maybe Ctrl+Alt+i and so on is OK?
 | 
					kf.plasma.quick: Applet preload policy set to 1
 | 
				
			||||||
 | 
					file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:178:25: QML FolderView
 | 
				
			||||||
 | 
					DropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth":
 | 
				
			||||||
 | 
					file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:201:9
 | 
				
			||||||
 | 
					Toolbox not loading, toolbox package is either invalid or disabled.
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### TUXEDO OS (24.04.1 LTS)
 | 
				
			||||||
 | 
					- [x] no need anymore: !!! Event calendar widget (in progress [ALikesToCode/plasma-applet-eventcalendar at plasma-6](https://github.com/ALikesToCode/plasma-applet-eventcalendar/tree/plasma-6))
 | 
				
			||||||
 | 
					- [x] ended up with Tiler: tilling → try to use native, try to use [zeroxoneafour/polonium: Tiling window manager for KWin 5.27](https://github.com/zeroxoneafour/polonium) (when there will be a new release)
 | 
				
			||||||
 | 
					- [x] see ↓: hud ([uszie/plasma-hud), in KDE Plasma.](https://github.com/uszie/plasma-hud)/[Zren/plasma-hud](https://github.com/Zren/plasma-hud) still works on X11), but maybe Ctrl+Alt+i and so on is OK?
 | 
				
			||||||
	- testing to use command palletes in programs and sets shortcuts to `ctr+;` (✓ kde programs, ✓ gimp, ✓ libreoffice, ✓ inkscape, ✓ vscode)
 | 
						- testing to use command palletes in programs and sets shortcuts to `ctr+;` (✓ kde programs, ✓ gimp, ✓ libreoffice, ✓ inkscape, ✓ vscode)
 | 
				
			||||||
- [ ] [Fingerprint reader support : r/tuxedocomputers](https://www.reddit.com/r/tuxedocomputers/comments/176fscp/fingerprint_reader_support/), still receiving “no match”
 | 
					- [ ] [Fingerprint reader support : r/tuxedocomputers](https://www.reddit.com/r/tuxedocomputers/comments/176fscp/fingerprint_reader_support/), still receiving “no match”
 | 
				
			||||||
- [ ] [Clipboard support in Wayland · Issue #5157 · vim/vim](https://github.com/vim/vim/issues/5157#issuecomment-776008833)
 | 
					 | 
				
			||||||
- [ ] partially FIXED by update: Wayland go to sleep even the external monitor is connected (HDMI)
 | 
					 | 
				
			||||||
	- *→ seems to be this issue [438716 – Lid close leads to suspend even when external monitor is attached](https://bugs.kde.org/show_bug.cgi?id=438716)*
 | 
					 | 
				
			||||||
	- needs to keyboard/mouse imput to intterupt the go sleep process
 | 
					 | 
				
			||||||
- [x] [PSA: How to re-enable LibreOffice integration in Plasma 6 : r/kde](https://www.reddit.com/r/kde/comments/1b9k755/psa_how_to_reenable_libreoffice_integration_in/)
 | 
					 | 
				
			||||||
- [x] FIXED by update: ~desktop exceptionally freeze for less than a second: *investigation → report a bug*~
 | 
					 | 
				
			||||||
- [x] FIXED by update: ~logout/poweroff dialog not showing and not working: *investigation → report a bug* … see below~
 | 
					 | 
				
			||||||
- [x] krunner not launching → created `/usr/share/dbus-1/services/org.kde.krunner.service` (see below)
 | 
					 | 
				
			||||||
- [x] meta+tab (last virtual desktop) → workaround [./bin/kde6-workarounds.mjs](./bin/kde6-workarounds.mjs)
 | 
					 | 
				
			||||||
- [x] klipper (edit last item) → workaround [./bin/kde6-workarounds.mjs](./bin/kde6-workarounds.mjs)
 | 
					 | 
				
			||||||
- [x] Active Window Control replaced with Window Title widget and its better
 | 
					 | 
				
			||||||
- [x] FIXED by widget update: ~html wallpaper → workaround just concat images (see [./bin/§wallpaper\_BIOTD](./bin/§wallpaper_BIOTD))~
 | 
					 | 
				
			||||||
- [x] ctrl+tab using [k0kubun/xremap: Key remapper for X11 and Wayland](https://github.com/k0kubun/xremap) and `sudo crontab -e`+`@reboot` and [./.config/xremap.yml](./.config/xremap.yml)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- [ ] [`npx npmkill` — Why are node_modules SO BIG 🤦♂️ #javascript #software #technology #code #webdev - YouTube](https://www.youtube.com/shorts/VgPNtow7fNM?app=desktop&si=Kl7CH3vCoyH7tqFU)
 | 
					- [ ] [`npx npmkill` — Why are node_modules SO BIG 🤦♂️ #javascript #software #technology #code #webdev - YouTube](https://www.youtube.com/shorts/VgPNtow7fNM?app=desktop&si=Kl7CH3vCoyH7tqFU)
 | 
				
			||||||
 | 
					- [ ] `brew install fabric-ai`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					### KDE Neon (staré)
 | 
				
			||||||
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1
 | 
					- [x] KDE Plasma5 Fixes](https://zren.github.io/kde/)
 | 
				
			||||||
Cannot find 'org.kde.KSMServerInterface.logout' in object /KSMServer at org.kde.ksmserver
 | 
					- [x] `sudo apt install $(check-language-support)`, see [Popup Language support is incomplete](http://unix.stackexchange.com/questions/421066/ddg#421079)
 | 
				
			||||||
```
 | 
					- [x] kde plasma 5 - How to use miracast as an extended desktop on Linux? - Super User](https://superuser.com/questions/1160078/how-to-use-miracast-as-an-extended-desktop-on-linux)
 | 
				
			||||||
[KDE Bugtracking System Main Page](https://bugs.kde.org/)
 | 
					- [x] Setup git on the CLI to use 2FA with GitHub](https://gist.github.com/ateucher/4634038875263d10fb4817e5ad3d332f)
 | 
				
			||||||
```ini
 | 
					- [x] G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main](https://gmic.eu/)
 | 
				
			||||||
[D-BUS Service]
 | 
					- [x] [PSA: How to re-enable LibreOffice integration in Plasma 6 : r/kde](https://www.reddit.com/r/kde/comments/1b9k755/psa_how_to_reenable_libreoffice_integration_in/)
 | 
				
			||||||
Name=org.kde.krunner
 | 
					 | 
				
			||||||
Exec=/usr/bin/krunner
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### KDE neon 5.26 (22.04)
 | 
					 | 
				
			||||||
{DONE <2022-10-25 17:21> *mail* *hud* *klíčenka* agenda}$
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- Ve směs OK
 | 
					 | 
				
			||||||
- HUD ztratil stylování, použito breeze pro celé rofi (vygóglováno)
 | 
					 | 
				
			||||||
- mailnag začal zapomínat heslo po příštím spuštění → nakonec: [Bubblemail - Downloads](http://bubblemail.free.fr/downloads)
 | 
					 | 
				
			||||||
	- z článku [The 10 Best Mail Notification Tools for Linux System](https://www.ubuntupit.com/best-mail-notification-tools-for-linux/)
 | 
					 | 
				
			||||||
	- zkoušen KMail – šlo by s ním žít, jen když už klient tak aby mi vyhovoval/fungoval
 | 
					 | 
				
			||||||
	- thunderbird: nemá možnost notifikací na pozadí (celý program musí běžet)
 | 
					 | 
				
			||||||
	- himalaya: má `watch`, ale detekuje jen nové (ne nově označené jako nepřečtené – asi OK), ale hl. se nedařilo zprovoznit přihlašování (kombinace s bitwarden)
 | 
					 | 
				
			||||||
- `canonical-livepatch` nefunguje
 | 
					 | 
				
			||||||
- Gnome klíčenka se neodemyká → přeinstalováno → uvidíme
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Konsolidace klíčenek správce hesel
 | 
					### Konsolidace klíčenek správce hesel
 | 
				
			||||||
{DONE <2022-07-14 20:40> *cli* *hesla* agenda}$
 | 
					{DONE <2022-07-14 20:40> *cli* *hesla* agenda}$
 | 
				
			||||||
@@ -106,19 +89,6 @@ Exec=/usr/bin/krunner
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Postupováno podle návodu [Rename the `~/.local/lib/python3.8/site-packages/pkg_resources` folder to `pkg_resources_back`](https://askubuntu.com/a/1398073).
 | 
					Postupováno podle návodu [Rename the `~/.local/lib/python3.8/site-packages/pkg_resources` folder to `pkg_resources_back`](https://askubuntu.com/a/1398073).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### KDE Neon
 | 
					 | 
				
			||||||
- [KDE Plasma5 Fixes](https://zren.github.io/kde/)
 | 
					 | 
				
			||||||
- Using ‘HTML Wallpaper’ (wip)
 | 
					 | 
				
			||||||
	- [Bing Image Of The Day](./Obrázky/Bing Image Of The Day/index_template.html)
 | 
					 | 
				
			||||||
- [GNOME Keyring in KDE Plasma - JWillikers](https://www.jwillikers.com/gnome-keyring-in-kde-plasma)
 | 
					 | 
				
			||||||
- `sudo apt install $(check-language-support)`, see [Popup Language support is incomplete](http://unix.stackexchange.com/questions/421066/ddg#421079)
 | 
					 | 
				
			||||||
- [KDE Neon does not have an hibernation option? : kde](https://www.reddit.com/r/kde/comments/6n5m49/kde_neon_does_not_have_an_hibernation_option/dk7hd8v/)
 | 
					 | 
				
			||||||
- [kde plasma 5 - How to use miracast as an extended desktop on Linux? - Super User](https://superuser.com/questions/1160078/how-to-use-miracast-as-an-extended-desktop-on-linux)
 | 
					 | 
				
			||||||
- [Best tiling extensions for kwin? : kde](https://www.reddit.com/r/kde/comments/qgsv2u/best_tiling_extensions_for_kwin/?sort=new), https://gitlab.com/faho/kwin-tiling/
 | 
					 | 
				
			||||||
- [KDE Plasma5 Fixes](https://zren.github.io/kde/)
 | 
					 | 
				
			||||||
- [Setup git on the CLI to use 2FA with GitHub](https://gist.github.com/ateucher/4634038875263d10fb4817e5ad3d332f)
 | 
					 | 
				
			||||||
- [G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main](https://gmic.eu/)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<details>
 | 
					<details>
 | 
				
			||||||
<summary>`{… cmd}$` explanation</summary>
 | 
					<summary>`{… cmd}$` explanation</summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,9 @@
 | 
				
			|||||||
- [./uu](./uu)
 | 
					- [./uu](./uu)
 | 
				
			||||||
- [../.config/uurc](../.config/uurc)
 | 
					- [../.config/uurc](../.config/uurc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## asciinema, asciinema-agg
 | 
				
			||||||
 | 
					plays/records terminal commands (agg cast→gif)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Lists executables via `npm`, `pip`, …
 | 
					## Lists executables via `npm`, `pip`, …
 | 
				
			||||||
<details>
 | 
					<details>
 | 
				
			||||||
<summary>brew</summary>
 | 
					<summary>brew</summary>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	"include": [
 | 
						"include": [
 | 
				
			||||||
		"/home/jaandrle/.nvm/versions/node/v18.19.0/lib/node_modules/nodejsscript/index.d.ts",
 | 
							"/home/jaandrle/.nvm/versions/node/v22.17.1/lib/node_modules/nodejsscript/index.d.ts",
 | 
				
			||||||
		"./*.mjs",
 | 
							"./*.mjs",
 | 
				
			||||||
		"./*.js",
 | 
							"./*.js",
 | 
				
			||||||
		"chrome-autoinspect.mjs"
 | 
							"chrome-autoinspect.mjs"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user