Scripts discussion (4)
- Author
- Message
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
texter
Да кто их знает. Считается, что js и vbs на клиентских компах небезопасно. Накатили общую политику на всех и привет. Если тебе нужно, то ты должен обосновать, зачем тебе это нужно, а это вряд ли, потому что должно использоваться только то ПО, что одобрено и поддерживается организацией.
AZJIO
Не знаю. Было бы здорово, чтобы как-то можно было пользоваться js без регистрации объекта AkelPad'а в реестре. Можно ли так сделать? Думаю, можно, но разработчику, видимо, так было проще. Вот если открыть QBasic, он исполняет файлы qb, qbs, но он ведь не просит регистрации в реестре, хотя тоже интерпретатор.
Да кто их знает. Считается, что js и vbs на клиентских компах небезопасно. Накатили общую политику на всех и привет. Если тебе нужно, то ты должен обосновать, зачем тебе это нужно, а это вряд ли, потому что должно использоваться только то ПО, что одобрено и поддерживается организацией.
AZJIO
Не знаю. Было бы здорово, чтобы как-то можно было пользоваться js без регистрации объекта AkelPad'а в реестре. Можно ли так сделать? Думаю, можно, но разработчику, видимо, так было проще. Вот если открыть QBasic, он исполняет файлы qb, qbs, но он ведь не просит регистрации в реестре, хотя тоже интерпретатор.
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
А просто скомпилировать SpellCheck для x64? или такое уже где-то есть и я просто не находил?AZJIO wrote:Может так договоримся и получится сделать плаг, который слова с ошибками выведет в консоль, а клик на слове перемещает к его позиции, оно и тормозить не будет и после определённого промежутка работы начинаешь исправлять. Какой нибудь хоткей.
если бы этот red undeline, или выделение рисовалось через Coder::HighLight то можно было бы перемещаться через хоткеи по определённому id, например:
find next misspelling
Alt+.
Code: Select all
Call("Coder::HighLight", 4, -1, 0, 0, 0)
Alt+,
Code: Select all
Call("Coder::HighLight", 4, 0, 0, 0, 0)
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
Ещё давно когда смотрел плагины на EmEditor то там был javascript, но вообще с другим расширением и сейчас уже не вспомню. Лично мне было бы легче с js, потому что я вообще из другой сферы то есть из вэба (php, javascript, back-end front-end мог бы чуть и на python) и не зная каких-то деталей реализации и без чёткого понимания как всё устроено в редакторе, и благодаря какому-то уже написанному коду мне удалось сориентироваться и добавить какую-то фитчуVladSh wrote:texter
Да кто их знает. Считается, что js и vbs на клиентских компах небезопасно. Накатили общую политику на всех и привет. Если тебе нужно, то ты должен обосновать, зачем тебе это нужно, а это вряд ли, потому что должно использоваться только то ПО, что одобрено и поддерживается организацией.
AZJIO
Не знаю. Было бы здорово, чтобы как-то можно было пользоваться js без регистрации объекта AkelPad'а в реестре. Можно ли так сделать? Думаю, можно, но разработчику, видимо, так было проще. Вот если открыть QBasic, он исполняет файлы qb, qbs, но он ведь не просит регистрации в реестре, хотя тоже интерпретатор.

А мне казалось что в реестре регистрируется не сам AkelPad a environment WSH? то есть сама возможность исполнять скрипты VBScript и JScript и помню, что на Win10 в cmd нужно было просто запустить некоторые команды, чтобы разрешить исполнение и ассоциировать с расширениями файлов .js и .vbs и всё... и я свою портабельную AkelPad сборку открыл без ошибок.
В Git-bash, чтобы писать bash скрипты для Linux нужно делать тоже самое, чтобы делать файлы .sh исполняемыми. Более того по сей день в интернете можно найти платный софт, который пишется для WSH и также видел похожие элементы GUI, похожие диалоговые окна и т.п.
P.s.: Так же заметил что в редакторах типа Sublime Text присутствовал портабельный и урезанный python
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
https://prnt.sc/101yxsh
https://prnt.sc/101z5kh
если вызвать этот скрипт, то в зависимости от размеров окна сделается горизонтальный или вертикальный сплит текущего документа и фокус будет на следующей стороне. Таким образом можно будет искать что-то в большом документе не теряя фокус на нужной области кода особенно если слишком много закладок и сложно ориентироваться.
Часто использовал этот скрипт, чтобы ориентироваться в большом документе и сплит работает также в resized MDI и в PMDI режиме.
однако когда писал этот скрипт мне не было понятно как формируется rect, поэтому у меня разрешение 1920x1080 и скрипт работает нормально, но как срабатывает сплит в других дисплеях мне пока что не ясно.
https://github.com/CoreText/AkelPad-Ext ... ndFocus.js
https://prnt.sc/101z5kh
если вызвать этот скрипт, то в зависимости от размеров окна сделается горизонтальный или вертикальный сплит текущего документа и фокус будет на следующей стороне. Таким образом можно будет искать что-то в большом документе не теряя фокус на нужной области кода особенно если слишком много закладок и сложно ориентироваться.
Часто использовал этот скрипт, чтобы ориентироваться в большом документе и сплит работает также в resized MDI и в PMDI режиме.
однако когда писал этот скрипт мне не было понятно как формируется rect, поэтому у меня разрешение 1920x1080 и скрипт работает нормально, но как срабатывает сплит в других дисплеях мне пока что не ясно.
https://github.com/CoreText/AkelPad-Ext ... ndFocus.js
-
Offline
- Posts: 1873
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Хм, а я что-то думал, что это уже не нужно... Правда, мне пока нигде ограничений не навязывали.VladSh wrote:Не знаю. Было бы здорово, чтобы как-то можно было пользоваться js без регистрации объекта AkelPad'а в реестре. Можно ли так сделать? Думаю, можно, но разработчику, видимо, так было проще. Вот если открыть QBasic, он исполняет файлы qb, qbs, но он ведь не просит регистрации в реестре, хотя тоже интерпретатор.
http://akelpad.sourceforge.net/forum/vi ... =7493#7493
Изменено: ядро плагина переписано:
- Теперь не требуется регистрация плагина, т.к. он уже не является ActiveX элементом.
В связи с этим необходимо обновить скрипты убрав строчку из кода:
var AkelPad=new ActiveXObject("AkelPad.document");
Объект "AkelPad" при этом можно использовать как обычно.
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
наверно было бы здорово чтобы была кнопочка Backup the configuration в PluginText.jsAZJIO wrote:texterВсе меню тут: AkelPad/AkelFiles/Plugs/ContextMenu.iniгде теперь их искать
А если уж он поломан, тогда не знаю, я всегда делаю копию своего меню и также знаю что оно есть в сборках, которые выкладываю, двойная защита от потерь.
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
Прикольно... похоже на убунту
Частично восстановил одну из своих менюшек. Выкладываю её для тех, кто знаком со строкой Git и кто запускает Git из CMD и вообще кому больше делать нечего

Менюшка:
Code: Select all
"Git"
{
"s&how <commit_sha> (from buffer | selected)" Call("Scripts::Main", 1, "Git_Show.js", `"%f"`)
"difftool <commit_sha (from buffer)> <current_file> (WinMerge)" Call("Scripts::Main", 1, "Git_Diff_Difftool.js", `"%f"`)
"log <current_file>" Call("Log::Output",1, '%comspec% /K cd /d "%d" & echo file path: "%f" & git log "%f" & echo. & git branch & exit', "", "", "", -2, -2, 50, ".git")
"log <current_file> (New Tab)" Call("Log::Output",1, '%comspec% /K cd /d "%d" & echo file path: "%f" & git log "%f" & echo. & git branch & exit & exit', "", "", "", -2, -2, 8388609, ".git")
"blame selected lines" Call("Scripts::Main", 1, "Git_Blame_Selected.js", `"%f"`)
"blame selected lines (New Tab)" Call("Scripts::Main", 1, "Git_Blame_Selected.js", "%f")
"log selected lines" Call("Scripts::Main", 1, "Git_Log_Selected.js", `"%f"`)
SEPARATOR
"Copy contents of the log in the new tab &>" Call("Scripts::Main", 1, "LogOutputActions.js", '-sLogExt=".git"')
"Copy contents of the log to the clipboard &<" Call("Scripts::Main", 1, "LogOutputActions.js", '-bCopy=1')
SEPARATOR
#"git-&gui" Exec(`%comspec% /B /C cd /d "%d" & git-gui`)
"git &gui&" Exec(`%comspec% /B /C cd /d "%d" & git gui&`)
"git&k --all" Exec(`%comspec% /B /C cd /d "%d" & gitk& --all`)
"git&k (only master)" Exec(`%comspec% /B /C cd /d "%d" & gitk&`)
SEPARATOR
"Diffuse <file> (show staged and untracked)" Exec(`%comspec% /K cd /d "%d" & "%a\Tools\Diffuse\diffuse.exe" -m & exit`)
"diff Meld <file>" Exec(`%comspec% /B /C cd /d "%d" & git difftool --no-prompt --tool="meld" "%f"`)
"diff WinMerge <file>" Exec(`%comspec% /B /C cd /d "%d" & git difftool --tool="winmerge" -y "%f"`)
"diff KDiff&3 <file>" Exec(`%comspec% /B /C cd /d "%d" & git difftool --tool="kdiff3" -y "%f" & exit`)
#"diff DiffMerge <file>" Exec(`%comspec% /B /C cd /d "%d" & git difftool --tool="diffmerge" -y "%f"`)
#"diff p4merge" Exec(`%comspec% /B /C cd /d "%d" & git difftool --tool="p4merge" -y "%f"`)
"diff Meld <all files>" Exec(`cmd.exe /K cd /d "%d" & git difftool -y --tool=meld & exit`)
"diff WinMerge <all files>" Exec(`cmd.exe /K cd /d "%d" & git difftool -y --tool=winmerge & exit`)
#"diff WinMergeU <file>" Exec(`%comspec% /B /C cd /d "%d" & git difftool --no-prompt --trust-exit-code -x="'%a\Tools\WinMergePortable\WinMergePortable.exe' -e "$LOCAL" "$REMOTE"" "%f"`)
#"diff WinMergeU <file>" Exec(`%comspec% /B /C cd /d "%d" & git difftool -y --trust-exit-code -x="'%a\git-winmerge.bat' "$LOCAL" "$REMOTE"" "%f"`)
#"git diff WinMergeU" Exec(`%comspec% /B /C cd /d "%d" & git difftool --no-prompt --tool="winmergeu" "%f"`)
SEPARATOR
"merge Meld (global)" Exec(`%comspec% /B /C cd /d "%d" & git mergetool --tool="meld" -y "%f"`)
"merge WinMerge (global)" Exec(`%comspec% /B /C cd /d "%d" & git mergetool --tool="winmerge" -y "%f"`)
#"merge WinMergeU" Exec(`%comspec% /B /C cd /d "%d" & git mergetool --no-prompt -x="'%a\Tools\WinMergePortable\WinMergePortable.exe' -e -u -dl "Old $BASE" -dr "New $BASE" "$LOCAL" "$REMOTE"" --trust-exit-code`)
#"merge WinMergeU <file>" Exec(`%comspec% /B /C cd /d "%d" & git mergetool --no-prompt --trust-exit-code -x="'%a\Tools\WinMergePortable\WinMergePortable.exe' -e "$LOCAL" "$REMOTE"" "%f"`)
"merge kdiff3 (global)" Exec(`%comspec% /B /C cd /d "%d" & git mergetool --tool="kdiff3" -y "%f"`)
#"merge DiffMerge" Exec(`%comspec% /B /C cd /d "%d" & git mergetool -y -x="'%a\Tools\DiffMerge_4_2_0_697_stable_x64\sgdm.exe' --merge -result[M S0="$MERGED" "$LOCAL" "$BASE" "$REMOTE" "`)
SEPARATOR
"git-&gui" Exec(`%comspec% /B /C cd /d "%d" & git-gui`)
"git &gui&" Exec(`%comspec% /B /C cd /d "%d" & git gui&`)
"git&k (gitk only master)" Exec(`%comspec% /B /C cd /d "%d" & gitk`)
"git&k --all (Show all refs like branches, tags, etc.)" Exec(`%comspec% /B /C cd /d "%d" & gitk --all`)
SEPARATOR
"&status" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git status & echo. & echo [ Current Commit ]============== & git log -1 --pretty=oneline --decorate & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&status -v -v (Show Staged and Unstaged Changes)" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git status -v -v & echo. & echo [ Current Commit ]============== & git log -1 --pretty=oneline --decorate & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&branch (merged)" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git branch & echo [ Merged Branches ]============== & git branch --merged & exit`, "", "", "", -2, -2, 50, ".git")
"show &remote origin" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git remote show origin & echo. & echo [ Available Details ]============== & git remote -v & echo. & echo [ All Branches ]============== & git branch -a & echo. & echo [ Remote Branch ]============== & git branch -r & echo. & echo [ Local Branch ]============== & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&branches no merged" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git branch --no-merged master & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&branches all merged" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git branch -a --merged & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&tag" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git tag -l -n1 & git branch & exit`, "", "", "", -2, -2, 50, ".git")
SEPARATOR
#"&blame" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git blame "%f" & git branch')
"&blame" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & echo file path: "%f" & git blame "%f" & git branch & exit`, "", "^([\^\w\d]{0,8})\s(\(.+?(\d)*\))\s", "/GOTOLINE=\3:0", -2, -2, 18, ".git")
"&blame (since 3 weeks)" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & echo file path: "%f" & git blame --since=3.weeks -- "%f" & git branch & exit`, "", "^([\^\w\d]{0,8})\s(\(.+?(\d)*\))\s", "/GOTOLINE=\3:0", -2, -2, 18, ".git")
"blame --line-porcelain" Call("Log::Output",1,`%comspec% /K cd /d "%d" & echo file path: "%f" & git blame --line-porcelain "%f" & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"blame selected lines" Call("Scripts::Main", 1, "Git_Blame_Selected.js", `"%f"`)
#"log lines" Call("Log::Output",1,'%comspec% /K cd /d "%d" & echo file path: "%f" & git log -L 1,5:"%f" & git branch')
"log selected lines" Call("Scripts::Main", 1, "Git_Log_Selected.js", "%f", "", "", -2, -2, 18, ".git")
SEPARATOR
"&reflog" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git reflog & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
#"&log in Log" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git log & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&log" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git log & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log --&no-merges" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git log --no-merges & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log stats and summary" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git log --stat --summary & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log --diff-filter=A --pretty-short" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --diff-filter=A --pretty=short -- "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log --decorate" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --oneline --graph --all --decorate & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log <current_file>" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log <current_file> follow" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --follow "%f" & echo. & git branch `, "", "", "", -2, -2, 50, ".git")
#"log --grep='current_file'" Call("Log::Output", 1,'%comspec% /K cd /d "%d" & git log --grep="%f" & echo. & git branch & exit', "", "", "", -2, -2, 50, ".git")
#"log" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --pretty=format:"%h - %an, %ar : %s" --graph & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log --merges" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git log --merges & echo. & git branch & exit', "", "", "", -2, -2, 50, ".git")
"log --stat" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --stat & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log --stat --summary" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --stat --summary & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"log --stat -M" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git log --stat -M & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
SEPARATOR
"notes list" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git notes list & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
SEPARATOR
"ls-tree master <current_dir>" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git ls-tree master "%d" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"ls-tree master^ <current_dir>" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git ls-tree master^ "%d" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
SEPARATOR
"&diff" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git diff & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"&diff -w" Call("Log::Output",1,`%comspec% /K cd /d "%d" & git diff -w & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"&uncommited file to HEAD" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"&uncommited file to before last commit" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff HEAD^ -- "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"&last commit to before last commit" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff HEAD^ HEAD -- "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"&difference between HEAD and n-th grandparent" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff HEAD~n HEAD -- "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"diff HEAD^ (what is commited)" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff HEAD^ & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"diff HEAD~ HEAD" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff HEAD~ HEAD & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"diff HEAD~5" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff HEAD~5 "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"diff --staged" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff --staged & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"diff --cached" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git diff --cached & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
SEPARATOR
"&what changed" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git whatchanged & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"&what changed -- <path>" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git whatchanged -- "%f" & echo. & git branch & exit`, "", "", "", -2, -2, 50, ".git")
"&show next 5" Call("Log::Output", 1, `%comspec% /K cd /d "%d" & git show next~5:"%f" & echo. & git branch & exit`, "", "", "", -2, -2, 18, ".git")
SEPARATOR
"&undo commit message amend" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git commit -a --amend & echo. & git branch')
"&undo file changes (warning!)" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git checkout -- "%f" & echo. & git branch')
"&undo adds (unstage) to file" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git reset HEAD "%f" & echo. & git branch')
"&undo - revert to latest if pushed" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git revert HEAD & echo. & git branch')
"&undo stop merge git merge --abort" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git merge --abort & echo. & git branch')
"&undo stop merge git reset --merge" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git reset --merge & echo. & git branch')
"garbage collect" Call("Log::Output",1,'%comspec% /K cd /d "%d" & git gc & git branch')
#SEPARATOR
#"&pull" Exec(`%comspec% /B /C cd /d "%d" & git pull`)
#"pull --&rebase" Exec(`%comspec% /B /C cd /d "%d" & git pull --rebase`)
#"add -p" Exec(`%comspec% /B /C cd /d "%d" & git add -p`)
# Merge only one specific commit:
# `git cherry-pick 073791e7`
# Commit to most recent commit:
# `git commit --amend -m "Message"`
# Update most recent commit message:
# `git commit --amend -m "New Message"`
# Restore file from a custom commit (in current branch):
# `git checkout 6eb715d -- index.html`
# Go back to commit:
# `git revert 073791e7dd71b90daa853b2c5acc2c925f02dbc6`
# Soft reset (move HEAD only; neither staging nor working dir is changed):
# `git reset --soft 073791e7dd71b90daa853b2c5acc2c925f02dbc6`
# Undo latest commit: `git reset --soft HEAD~ `
# Mixed reset (move HEAD and change staging to match repo; does not affect working dir):
# `git reset --mixed 073791e7dd71b90daa853b2c5acc2c925f02dbc6`
# Hard reset (move HEAD and change staging dir and working dir to match repo):
# `git reset --hard 073791e7dd71b90daa853b2c5acc2c925f02dbc6`
SEPARATOR
"s&tash list" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git stash list & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"show stash stats" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git stash show stash@{0} & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"show stash changes" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git stash show -p stash@{0} & git branch & exit`, "", "", "", -2, -2, 18, ".git")
"delete complete stash" Call("Log::Output",1, `%comspec% /K cd /d "%d" & git stash clear & git branch & exit`, "", "", "", -2, -2, 18, ".git")
# Merge to master (only if fast forward):
# `git merge --ff-only branchname`
# Merge to master (forc a new commit):
# `git merge --no-ff branchname`
SEPARATOR
#"&edit config (Go To Root And Then Edit)" Exec(`%comspec% /K cd /d "%d" & sh --login -i & cat ~/.gitconfig`)
'&Edit Git Config' Exec(`vim ~/.gitconfig`)
"&config" Call("Log::Output",1,'%comspec% /K cd /d "%d" & cat .git/config & echo [ System ]============================ & git config --system --list & echo [ Global ]============================ & git config --global --list & echo [ Local ]============================ & git config --list& echo [ Worktree ]============================ & git config --worktree --list & echo [ Current Branch ]============================ & git branch & echo [ Current Git ]============================ & which git & echo [ Version ]============================ & git --version & echo [ Config Help ]============================ & git config & exit', "%d", "", "", -1, -1, 50, ".ini")
"&config (New Tab)" Call("Log::Output",1,'%comspec% /K cd /d "%d" & cat .git/config & echo [ System ]============================ & git config --system --list & echo [ Global ]============================ & git config --global --list & echo [ Local ]============================ & git config --list& echo [ Worktree ]============================ & git config --worktree --list & echo [ Current Branch ]============================ & git branch & echo [ Current Git ]============================ & which git & echo [ Version ]============================ & git --version & echo [ Config Help ]============================ & git config & exit', "%d", "", "", -1, -1, 8388609, ".ini")
}
Её можно забиндить например на ctrl + shift + alt + 1
Code: Select all
Call("ContextMenu::Show", 1, "-3", "-3", -1, "Git")
Code: Select all
[Plugins]
//...
'"ContextMenu::Show", 1, "-3", "-3", -1, "Git"' = "Menu: Git Commands >"
//...
Затем нужно добавить это в глобальные конфигурации с указанными абсолютными путями к diff/merge tool. Diffuse работает и без этих конфигураций.
Code: Select all
[merge]
tool = meld
[mergetool "meld"]
cmd = "C:\\AбсолютныйПутьК\\Вашему\\Инструменту\\Meld\\Meld.exe" "$LOCAL" "$BASE" "$REMOTE" "--output=$MERGED"
path = C:\\AбсолютныйПутьК\\Вашему\\Инструменту\\Meld\\Meld.exe
trustExitCode = false
keepBackup = false
[diff]
tool = meld
[difftool "meld"]
cmd = "C:\\AбсолютныйПутьК\\Вашему\\Инструменту\\Meld\\Meld.exe" "$LOCAL" "$REMOTE"
[difftool "winmerge"]
cmd = winmerge.sh "$LOCAL" "$REMOTE"
keepBackup = false
[difftool "kdiff3"]
path = C:\\AбсолютныйПутьК\\Вашему\\Инструменту\\KDiff3\\kdiff3.exe
cmd = "C:\\AбсолютныйПутьК\\Вашему\\Инструменту\\KDiff3\\kdiff3.exe" "$LOCAL" "$REMOTE"
trustExitCode = false
А эти скрипты делают всякие вещи типа git blame/log выделенных строк, открывают результаты в новой вкладке, показывают разницу между коммитами если коммит id в буфере памяти и т.д. и их вы сможете найти у меня в репозитории.
Git_Blame_Selected.js
Git_Commit_Git-GUI.js
Git_Config_Edit.js
Git_Diff_Current_Changes_Diffuse.js
Git_Diff_Difftool.js
Git_Diff_DiffTool_Current_Meld.js
Git_Diff_DiffTool_Current_WinMerge.js
Git_Gitk.js
Git_Log_Selected.js
Git_MergeTool_Meld.js
LogOutputActions.js
Git_Show.js
а здесь подсветка для git log/diff и если открыть результаты в новой вкладке, то можно фильтровать например коммиты через Coder::CodeFold по Author, Date, по megre request, по тайтлу коммита, если в нём есть нотация и также можно фильтровать по изменениям в git diff и лишнего контента не покажет благодаря этой штуке gitlog.coder и Coder::CodeFold панели.
https://github.com/CoreText/AkelPad-Ext ... tlog.coder
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 3234
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
texter
> наверно было бы здорово чтобы была кнопочка Backup the configuration
Легко. Я для этого писал такую штуку - pack7zip.js. Группа в ContextMenu-плагине:Всё настраивается гибко до неприличия))
> наверно было бы здорово чтобы была кнопочка Backup the configuration
Легко. Я для этого писал такую штуку - pack7zip.js. Группа в ContextMenu-плагине:
Code: Select all
"PACK"
{
"AkelPad Settings" Call("Scripts::Main", 1, "pack7zip.js", `-pID="AkelPadSettings" -debug=1`)
"Запрос шаблона..." Call("Scripts::Main", 1, "pack7zip.js")
}
-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
Задумка скрипта была такая, чтобы делать сплит в зависимости от размеров окна, чтобы видимой области было больше при сплите, например если в MDI делать tile Tabs вертикальный tile - то чтобы был горизонтальный сплит и наоборот... также в ситуации, если просто делать tile окна Win+Left/Right , Win+Up/Down, в зависимости как оно расположено (сверху/снизу, слева/справа) - также делался умный сплит, чтобы не переключаться между сплитами и не искать клавишу, чтобы сделать фокус на следующую сторону сплита, или чтобы не приходилось кликать мышкой в другую область.VladSh wrote:texter
Поставил SplitViewAndFocus.js, а он почему-то всегда делает вертикальное разделение.
И ещё я не понял смысла скрипта. Обычные команды 4212-4214 делают такое же разделение экрана, и работают в любом режиме (только что перепроверил).
Ещё искал способ как сделать "умный" сплит, если открыта панель проводника с одной стороны и с другой стороны открыта какая-то другая панель и снизу ещё открыт лог, то чтобы сделался такой сплит в зависимости от размеров области редактора, чтобы не смотрелось сжато... но к сожалению пока что не знаю как это делать.
У меня на Win 10 и разрешение 1920x1080 работает без проблем, однако когда делал этот скрипт заметил что в PMDI работает по другому, так же я не совсем понимаю как наполняется rect... и просто в скрипте подобрал в условии таким образом чтобы срабатывало.
Когда у меня будет время гляну как это работает на Win 7 с другим разрешением, а сейчас пока что времени нету, но этот скрипт я начал постоянно использовать, когда закладок становилось слишком много и было лень переключать сплиты и делать фокус, чтобы не теряться в коде.
Потому что, если просто переключать сплиты через SwitchSplittedWindow.vbs , то уже начинаю забывать куда смотрел и теряюсь.
СпасибоЛегко. Я для этого писал такую штуку - pack7zip.js. Группа в ContextMenu-плагине:
Code:
"PACK"
{
"AkelPad Settings" Call("Scripts::Main", 1, "pack7zip.js", `-pID="AkelPadSettings" -debug=1`)
"Запрос шаблона..." Call("Scripts::Main", 1, "pack7zip.js")
}
Всё настраивается гибко до неприличия))

-
Offline
- Posts: 39
- Joined: Thu Aug 20, 2020 11:19 am
Заметил одну проблему переименования файлов на Win10 вылетал редактор из-за UAC проблемы, то есть если запускать от имени админа - AkelPad переименовывает файлы без проблем, но если в обычном режиме AkelPad бывает что вылетает и это во всех скриптах по переименованию. Ранее находил эту проблему на форуме, а сейчас не могу её найти, поэтому извиняюсь если не по теме.
зафиксил эту проблему и теперь переименовывает файлы железно без прав админа, правда с небольшой задержкой.
https://github.com/CoreText/AkelPad-Ext ... eFileAs.js
зафиксил эту проблему и теперь переименовывает файлы железно без прав админа, правда с небольшой задержкой.
https://github.com/CoreText/AkelPad-Ext ... eFileAs.js
Code: Select all
# переименование
Call("Scripts::Main", 1, "RenameFileAs.js", `-save=false`)