adds more macros to VSC Golang debug keymap; updates readme
This commit is contained in:
parent
57dcb95185
commit
b45079ceba
41
README.md
41
README.md
|
@ -82,32 +82,35 @@ We start with the probably indispensable media player controls keyboard layout.
|
||||||
◀️◀️ ▮▶ ▶▶
|
◀️◀️ ▮▶ ▶▶
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Debug Go in VisualStudio Code
|
### Debug Go in VisualStudio Code
|
||||||
|
|
||||||
Debug Go programs and packages in VisualStudio Code with its Go extension.
|
Debug Go programs and packages in VisualStudio Code with its Go extension.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐
|
┌╌╌╌╌┐ ╔════╗ ╔════╗ ╔════╗
|
||||||
┊ 11 ┊ ┊ 8 ┊ ┊ 5 ┊ ┊ 2 ┊
|
┊ 11 ┊ ║ 8 ║ ║ 5 ║ ║ 2 ║
|
||||||
└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘
|
└╌╌╌╌┘ ╚════╝ ╚════╝ ╚════╝
|
||||||
|
OUTPUT DEBUG CLOSE PANEL
|
||||||
╔════╗ ╔════╗ ┌╌╌╌╌┐ ╔════╗
|
╔════╗ ╔════╗ ╔════╗ ╔════╗
|
||||||
║ 10 ║ ║ 7 ║ ┊ 4 ┊ ║ 1 ║
|
║ 10 ║ ║ 7 ║ ║ 4 ║ ║ 1 ║
|
||||||
╚════╝ ╚════╝ └╌╌╌╌┘ ╚════╝
|
╚════╝ ╚════╝ ╚════╝ ╚════╝
|
||||||
⏹STOP ↺RELOAD ☑TSTPKG
|
▶ ⏹STOP ↺RELOAD TSTPKG
|
||||||
╔════╗ ╔════╗ ╔════╗ ╔════╗
|
╔════╗ ╔════╗ ╔════╗ ╔════╗
|
||||||
║ 9 ║ ║ 6 ║ ║ 3 ║ ║ 0 ║
|
║ 9 ║ ║ 6 ║ ║ 3 ║ ║ 0 ║
|
||||||
╚════╝ ╚════╝ ╚════╝ ╚════╝
|
╚════╝ ╚════╝ ╚════╝ ╚════╝
|
||||||
▮▶ ⭢STEP ⮧INTO ⮥OUT
|
▮▶ ⮧INTO ⭢STEP ⮥OUT
|
||||||
```
|
```
|
||||||
|
|
||||||
* ▮▶ starts, continues, or pauses the program to be debugged.
|
- ▶ starts the program without debugging.
|
||||||
* ⮧INTO steps _into_ a function call.
|
- ▮▶ starts, continues, or pauses the program to be debugged.
|
||||||
* ⭢STEP steps _over_ a line/function call.
|
- ⮧INTO steps _into_ a function call.
|
||||||
* ⏹STOP stops debugging
|
- ⭢STEP steps _over_ a line/function call.
|
||||||
* ↺RELOAD reloads the program being debugged.
|
- ⏹STOP stops debugging
|
||||||
* ☑TSTPKG activates the command "go: test package".
|
- ↺RELOAD reloads the program being debugged.
|
||||||
|
- ☑TSTPKG activates the command "go: test package".
|
||||||
|
- OUTPUT opens/shows output panel.
|
||||||
|
- DEBUG opens/shows debug panel.
|
||||||
|
- CLOSE PANEL ... closes the output/debug panel.
|
||||||
|
|
||||||
### Kdenlive Video Editor
|
### Kdenlive Video Editor
|
||||||
|
|
||||||
|
@ -141,10 +144,10 @@ layouts that are SHIFT-aware.
|
||||||
└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘
|
└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘
|
||||||
```
|
```
|
||||||
|
|
||||||
* press ⇑SHIFT, release ⇑SHIFT: if a keyboard layout has a SHIFT layer, then
|
- press ⇑SHIFT, release ⇑SHIFT: if a keyboard layout has a SHIFT layer, then
|
||||||
this activates and deactivates this ⇑SHIFT layer.
|
this activates and deactivates this ⇑SHIFT layer.
|
||||||
* press ⇑SHIFT, tap →LAYOUT, release ⇑SHIFT: switches to next keyboard layout.
|
- press ⇑SHIFT, tap →LAYOUT, release ⇑SHIFT: switches to next keyboard layout.
|
||||||
* press ⇑SHIFT, tap 🔆BRIGHT, release 🔆BRIGHT: changes the keyboard LED
|
- press ⇑SHIFT, tap 🔆BRIGHT, release 🔆BRIGHT: changes the keyboard LED
|
||||||
brightness in three different brightness steps (70% → 100% → 40% → 70% →
|
brightness in three different brightness steps (70% → 100% → 40% → 70% →
|
||||||
...).
|
...).
|
||||||
|
|
||||||
|
|
|
@ -32,14 +32,14 @@ The Keybow layout is as follows when in landscape orientation, with the USB
|
||||||
cable going off "northwards":
|
cable going off "northwards":
|
||||||
|
|
||||||
┋┋
|
┋┋
|
||||||
┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐ ┌╌╌╌╌┐
|
┌╌╌╌╌┐ ╔════╗ ╔════╗ ╔════╗
|
||||||
┊ 11 ┊ ┊ 8 ┊ ┊ 5 ┊ ┊ 2 ┊
|
┊ 11 ┊ ║ 8 ║ ║ 5 ║ ║ 2 ║
|
||||||
└╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘ └╌╌╌╌┘
|
└╌╌╌╌┘ ╚════╝ ╚════╝ ╚════╝
|
||||||
|
OUTPUT DEBUG CLOSE PANE
|
||||||
╔════╗ ╔════╗ ┌╌╌╌╌┐ ╔════╗
|
╔════╗ ╔════╗ ╔════╗ ╔════╗
|
||||||
║ 10 ║ ║ 7 ║ ┊ 4 ┊ ║ 1 ║
|
║ 10 ║ ║ 7 ║ ║ 4 ║ ║ 1 ║
|
||||||
╚════╝ ╚════╝ └╌╌╌╌┘ ╚════╝
|
╚════╝ ╚════╝ ╚════╝ ╚════╝
|
||||||
⏹STOP ↺RELOAD TSTPKG
|
▶ ⏹STOP ↺RELOAD TSTPKG
|
||||||
╔════╗ ╔════╗ ╔════╗ ╔════╗
|
╔════╗ ╔════╗ ╔════╗ ╔════╗
|
||||||
║ 9 ║ ║ 6 ║ ║ 3 ║ ║ 0 ║
|
║ 9 ║ ║ 6 ║ ║ 3 ║ ║ 0 ║
|
||||||
╚════╝ ╚════╝ ╚════╝ ╚════╝
|
╚════╝ ╚════╝ ╚════╝ ╚════╝
|
||||||
|
@ -48,22 +48,29 @@ cable going off "northwards":
|
||||||
]]--
|
]]--
|
||||||
|
|
||||||
-- Default hardware key to function assignments, can be overriden by users
|
-- Default hardware key to function assignments, can be overriden by users
|
||||||
vscgo.KEY_STOP = vscgo.KEY_STOP or 10
|
vscgo.KEY_RUN = vscgo.KEY_RUN or 10
|
||||||
vscgo.KEY_RELOAD = vscgo.KEY_RELOAD or 7
|
vscgo.KEY_STOP = vscgo.KEY_STOP or 7
|
||||||
|
vscgo.KEY_RELOAD = vscgo.KEY_RELOAD or 4
|
||||||
vscgo.KEY_TESTPKG = vscgo.KEY_TESTPKG or 1
|
vscgo.KEY_TESTPKG = vscgo.KEY_TESTPKG or 1
|
||||||
vscgo.KEY_CONT = vscgo.KEY_CONT or 9
|
vscgo.KEY_CONT = vscgo.KEY_CONT or 9
|
||||||
vscgo.KEY_STEPINTO = vscgo.KEY_STEPINTO or 6
|
vscgo.KEY_STEPINTO = vscgo.KEY_STEPINTO or 6
|
||||||
vscgo.KEY_STEPOVER = vscgo.KEY_STEPOVER or 3
|
vscgo.KEY_STEPOVER = vscgo.KEY_STEPOVER or 3
|
||||||
vscgo.KEY_STEPOUT = vscgo.KEY_STEPOUT or 0
|
vscgo.KEY_STEPOUT = vscgo.KEY_STEPOUT or 0
|
||||||
|
|
||||||
|
vscgo.KEY_VIEWOUTPUT = vscgo.KEY_VIEWOUTPUT or 8
|
||||||
|
vscgo.KEY_VIEWDEBUG = vscgo.KEY_VIEWDEBUG or 5
|
||||||
|
vscgo.KEY_CLOSEPANEL = vscgo.KEY_CLOSEPANEL or 2
|
||||||
|
|
||||||
vscgo.RED = { r=1, g=0, b=0 }
|
vscgo.RED = { r=1, g=0, b=0 }
|
||||||
vscgo.YELLOW = { r=1, g=0.7, b=0 }
|
vscgo.YELLOW = { r=1, g=0.7, b=0 }
|
||||||
vscgo.GREEN = { r=0, g=1, b=0 }
|
vscgo.GREEN = { r=0, g=1, b=0 }
|
||||||
|
vscgo.GREENISH = { r=0.5, g=0.8, b=0.5}
|
||||||
vscgo.BLUE = { r=0, g=0, b=1 }
|
vscgo.BLUE = { r=0, g=0, b=1 }
|
||||||
vscgo.BLUECYAN = { r=0, g=0.7, b=1 }
|
vscgo.BLUECYAN = { r=0, g=0.7, b=1 }
|
||||||
vscgo.BLUEGRAY = { r=0.7, g=0.7, b=1 }
|
vscgo.BLUEGRAY = { r=0.7, g=0.7, b=1 }
|
||||||
vscgo.CYAN = { r=0, g=1, b=1 }
|
vscgo.CYAN = { r=0, g=1, b=1 }
|
||||||
|
|
||||||
|
vscgo.COLOR_RUN = vscgo.COLOR_RUN or vscgo.GREENISH
|
||||||
vscgo.COLOR_STOP = vscgo.COLOR_STOP or vscgo.RED
|
vscgo.COLOR_STOP = vscgo.COLOR_STOP or vscgo.RED
|
||||||
vscgo.COLOR_RELOAD = vscgo.COLOR_RELOAD or vscgo.YELLOW
|
vscgo.COLOR_RELOAD = vscgo.COLOR_RELOAD or vscgo.YELLOW
|
||||||
vscgo.COLOR_TESTPKG = vscgo.COLOR_TESTPKG or vscgo.CYAN
|
vscgo.COLOR_TESTPKG = vscgo.COLOR_TESTPKG or vscgo.CYAN
|
||||||
|
@ -72,50 +79,39 @@ vscgo.COLOR_STEPINTO = vscgo.COLOR_STEPINTO or vscgo.BLUECYAN
|
||||||
vscgo.COLOR_STEPOVER = vscgo.COLOR_STEPOVER or vscgo.BLUE
|
vscgo.COLOR_STEPOVER = vscgo.COLOR_STEPOVER or vscgo.BLUE
|
||||||
vscgo.COLOR_STEPOUT = vscgo.COLOR_STEPOUT or vscgo.BLUEGRAY
|
vscgo.COLOR_STEPOUT = vscgo.COLOR_STEPOUT or vscgo.BLUEGRAY
|
||||||
|
|
||||||
|
vscgo.COLOR_VIEWOUTPUT = vscgo.COLOR_VIEWOUTPUT or vscgo.GREENISH
|
||||||
|
vscgo.COLOR_VIEWDEBUG = vscgo.COLOR_VIEWDEBUG or vscgo.GREEN
|
||||||
|
vscgo.COLOR_CLOSEPANEL = vscgo.COLOR_CLOSEPANEL or vscgo.RED
|
||||||
|
|
||||||
-- AND NOW FOR SOMETHING DIFFERENT: THE REAL MEAT --
|
-- AND NOW FOR SOMETHING DIFFERENT: THE REAL MEAT --
|
||||||
|
|
||||||
function vscgo.debug_stop(_)
|
function vscgo.command(cmd)
|
||||||
mb.tap(keybow.F5, keybow.LEFT_SHIFT)
|
|
||||||
end
|
|
||||||
|
|
||||||
function vscgo.debug_restart(_)
|
|
||||||
mb.tap(keybow.F5, keybow.LEFT_SHIFT, keybow.LEFT_CTRL)
|
|
||||||
end
|
|
||||||
|
|
||||||
function vscgo.debug_continue(_)
|
|
||||||
mb.tap(keybow.F5)
|
|
||||||
end
|
|
||||||
|
|
||||||
function vscgo.debug_stepover(_)
|
|
||||||
mb.tap(keybow.F10)
|
|
||||||
end
|
|
||||||
|
|
||||||
function vscgo.debug_stepinto(_)
|
|
||||||
mb.tap(keybow.F11)
|
|
||||||
end
|
|
||||||
|
|
||||||
function vscgo.debug_stepout(_)
|
|
||||||
mb.tap(keybow.F11, keybow.LEFT_SHIFT)
|
|
||||||
end
|
|
||||||
|
|
||||||
function vscgo.go_test_package(_)
|
|
||||||
mb.tap("P", keybow.LEFT_SHIFT, keybow.LEFT_CTRL)
|
mb.tap("P", keybow.LEFT_SHIFT, keybow.LEFT_CTRL)
|
||||||
keybow.sleep(250)
|
keybow.sleep(100)
|
||||||
keybow.text("go test package")
|
keybow.text(cmd)
|
||||||
keybow.tap_enter()
|
keybow.tap_enter()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function vscgo.go_test_package(_)
|
||||||
|
vscgo.command("go test package")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- luacheck: ignore 631
|
||||||
vscgo.keymap = {
|
vscgo.keymap = {
|
||||||
name="vsc-golang-debug",
|
name="vsc-golang-debug",
|
||||||
[vscgo.KEY_STOP] = {c=vscgo.COLOR_STOP, press=vscgo.debug_stop},
|
[vscgo.KEY_RUN] = {c=vscgo.COLOR_RUN, press=function(_) mb.tap(keybow.F5, keybow.LEFT_CTRL) end},
|
||||||
[vscgo.KEY_RELOAD] = {c=vscgo.COLOR_RELOAD, press=vscgo.debug_restart},
|
[vscgo.KEY_STOP] = {c=vscgo.COLOR_STOP, press=function(_) mb.tap(keybow.F5, keybow.LEFT_SHIFT) end},
|
||||||
|
[vscgo.KEY_RELOAD] = {c=vscgo.COLOR_RELOAD, press=function(_) mb.tap(keybow.F5, keybow.LEFT_SHIFT, keybow.LEFT_CTRL) end},
|
||||||
[vscgo.KEY_TESTPKG] = {c=vscgo.COLOR_TESTPKG, press=vscgo.go_test_package},
|
[vscgo.KEY_TESTPKG] = {c=vscgo.COLOR_TESTPKG, press=vscgo.go_test_package},
|
||||||
|
|
||||||
[vscgo.KEY_CONT] = {c=vscgo.COLOR_CONT, press=vscgo.debug_continue},
|
[vscgo.KEY_CONT] = {c=vscgo.COLOR_CONT, press=function(_) mb.tap(keybow.F5) end},
|
||||||
[vscgo.KEY_STEPINTO] = {c=vscgo.COLOR_STEPINTO, press=vscgo.debug_stepinto},
|
[vscgo.KEY_STEPINTO] = {c=vscgo.COLOR_STEPINTO, press=function(_) mb.tap(keybow.F11) end},
|
||||||
[vscgo.KEY_STEPOVER] = {c=vscgo.COLOR_STEPOVER, press=vscgo.debug_stepover},
|
[vscgo.KEY_STEPOVER] = {c=vscgo.COLOR_STEPOVER, press=function(_) mb.tap(keybow.F10) end},
|
||||||
[vscgo.KEY_STEPOUT] = {c=vscgo.COLOR_STEPOUT, press=vscgo.debug_stepout},
|
[vscgo.KEY_STEPOUT] = {c=vscgo.COLOR_STEPOUT, press=function(_) mb.tap(keybow.F11, keybow.LEFT_SHIFT) end},
|
||||||
|
|
||||||
|
[vscgo.KEY_VIEWOUTPUT] = {c=vscgo.COLOR_VIEWOUTPUT, press=function(_) vscgo.command("view toggle output") end},
|
||||||
|
[vscgo.KEY_VIEWDEBUG] = {c=vscgo.COLOR_VIEWDEBUG, press=function(_) vscgo.command("view debug console") end},
|
||||||
|
[vscgo.KEY_CLOSEPANEL] = {c=vscgo.COLOR_CLOSEPANEL, press=function(_) vscgo.command("view close panel") end},
|
||||||
}
|
}
|
||||||
|
|
||||||
mb.register_keymap(vscgo.keymap)
|
mb.register_keymap(vscgo.keymap)
|
||||||
|
|
|
@ -54,7 +54,7 @@ describe("final Multibow integration", function()
|
||||||
-- order of keymap imports.
|
-- order of keymap imports.
|
||||||
mb.activate_keymap(vscgolang.keymap.name)
|
mb.activate_keymap(vscgolang.keymap.name)
|
||||||
assert.is.equal(vscgolang.keymap.name, mb.current_keymap.name)
|
assert.is.equal(vscgolang.keymap.name, mb.current_keymap.name)
|
||||||
assert.is.equal(vscgolang.debug_continue, vscgolang.keymap[vscgolang.KEY_CONT].press)
|
assert.is.equal(vscgolang.go_test_package, vscgolang.keymap[vscgolang.KEY_TESTPKG].press)
|
||||||
|
|
||||||
-- Checks that a press of the "Continue Debugging" key does in fact
|
-- Checks that a press of the "Continue Debugging" key does in fact
|
||||||
-- trigger the corresponding keymap handler.
|
-- trigger the corresponding keymap handler.
|
||||||
|
|
Loading…
Reference in New Issue