AutoYADM commit: 2025-05-13 18:32:14
This commit is contained in:
parent
66a600da48
commit
422a963697
2 changed files with 58 additions and 5 deletions
|
@ -64,17 +64,18 @@ define-command ui-scrolloff-toggle -docstring "toggle scrolloff" %{
|
||||||
CUR="$kak_opt_scrolloff"
|
CUR="$kak_opt_scrolloff"
|
||||||
IFS=,
|
IFS=,
|
||||||
read TARG HOR <<<$kak_opt_base_scrolloff
|
read TARG HOR <<<$kak_opt_base_scrolloff
|
||||||
if [ "$CUR" != ${CUR#99} ]; then
|
IFS=,
|
||||||
|
read VSCROLL _ <<<$kak_opt_scrolloff
|
||||||
|
if [ "$VSCROLL" = 99 ]; then
|
||||||
final="$TARG,$HOR"
|
final="$TARG,$HOR"
|
||||||
else
|
else
|
||||||
final="99,$HOR"
|
final="99,$HOR"
|
||||||
fi
|
fi
|
||||||
# echo "echo final: $final, targ: $TARG, hor: $HOR"
|
|
||||||
echo "set-option window scrolloff $final"
|
echo "set-option window scrolloff $final"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
map global ui z ": ui-scrolloff-toggle 3 3<ret>"
|
map global ui z ": ui-scrolloff-toggle<ret>"
|
||||||
|
|
||||||
hook global WinCreate .* %{
|
hook global WinCreate .* %{
|
||||||
ui-wrap-enable
|
ui-wrap-enable
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
#!/usr/bin/env perl
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
# old
|
||||||
|
# use strict;
|
||||||
|
# use warnings;
|
||||||
|
|
||||||
|
# my $Indent = 0;
|
||||||
|
# my $Blank_Lines = 0;
|
||||||
|
# my $Open = qr/[{\[(]$/;
|
||||||
|
# my $Close = qr/^[}\])]/;
|
||||||
|
# while (<>) {
|
||||||
|
# s/^\h*//;
|
||||||
|
# $Blank_Lines++, next if m/^$/;
|
||||||
|
# my $Comment = m/^#/;
|
||||||
|
# $Indent-- if m/$Close/ and not $Comment;
|
||||||
|
# $Blank_Lines = 0, print "\n" if $Blank_Lines;
|
||||||
|
# print "\t" x $Indent, $_;
|
||||||
|
# $Indent++ if m/$Open/ and not $Comment;
|
||||||
|
# }
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
|
@ -7,12 +26,45 @@ my $Indent = 0;
|
||||||
my $Blank_Lines = 0;
|
my $Blank_Lines = 0;
|
||||||
my $Open = qr/[{\[(]$/;
|
my $Open = qr/[{\[(]$/;
|
||||||
my $Close = qr/^[}\])]/;
|
my $Close = qr/^[}\])]/;
|
||||||
|
my $InShell = 0;
|
||||||
|
my $ShellIndent = 0;
|
||||||
|
|
||||||
while (<>) {
|
while (<>) {
|
||||||
s/^\h*//;
|
s/^\h*//;
|
||||||
$Blank_Lines++, next if m/^$/;
|
|
||||||
|
# Track blank lines
|
||||||
|
if (/^$/) {
|
||||||
|
$Blank_Lines++;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Detect start of %sh{
|
||||||
|
if (/^%sh\s*{/) {
|
||||||
|
print "\t" x $Indent, $_;
|
||||||
|
$InShell = 1;
|
||||||
|
$ShellIndent = 0;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Detect end of shell block
|
||||||
|
if ($InShell && /^\}/) {
|
||||||
|
$InShell = 0;
|
||||||
|
print "\t" x $Indent, $_;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($InShell) {
|
||||||
|
$ShellIndent-- if /^\s*(?:fi|done|esac|elif|else|elif|;;)/;
|
||||||
|
print "\t" x ($Indent + $ShellIndent), $_;
|
||||||
|
$ShellIndent++ if /\b(?:then|do|case)\b(?:\s*#.*)?$/ or /{\s*$/;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
my $Comment = m/^#/;
|
my $Comment = m/^#/;
|
||||||
$Indent-- if m/$Close/ and not $Comment;
|
$Indent-- if m/$Close/ and not $Comment;
|
||||||
$Blank_Lines = 0, print "\n" if $Blank_Lines;
|
print "\n" if $Blank_Lines;
|
||||||
|
$Blank_Lines = 0;
|
||||||
print "\t" x $Indent, $_;
|
print "\t" x $Indent, $_;
|
||||||
$Indent++ if m/$Open/ and not $Comment;
|
$Indent++ if m/$Open/ and not $Comment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue