From 4b53d3e050e4bb444ef28bdc8c2e11b939d8dfb2 Mon Sep 17 00:00:00 2001 From: Daylin Morgan Date: Tue, 12 Nov 2024 15:18:20 -0600 Subject: [PATCH] update to hwylcli --- nimble.lock | 4 ++-- src/tsm.nim | 49 ++++++++----------------------------------------- tsm.nimble | 2 +- 3 files changed, 11 insertions(+), 44 deletions(-) diff --git a/nimble.lock b/nimble.lock index e20d08a..bc4c8b4 100644 --- a/nimble.lock +++ b/nimble.lock @@ -3,12 +3,12 @@ "packages": { "hwylterm": { "version": "0.1.0", - "vcsRevision": "b6202f4f51edadd041d2b5f2aed1d75abcd4ee51", + "vcsRevision": "2a5dce888d7abf5409a62208d951ac3a4e6babfa", "url": "https://github.com/daylinmorgan/hwylterm", "downloadMethod": "git", "dependencies": [], "checksums": { - "sha1": "eb38b434419ec70f080f79b7826c3c3989a2c74a" + "sha1": "56afeceb88973f730111cfa7d02aef2d0cf88197" } }, "illwill": { diff --git a/src/tsm.nim b/src/tsm.nim index a237c7a..f4f7ad3 100644 --- a/src/tsm.nim +++ b/src/tsm.nim @@ -1,6 +1,6 @@ import ./[selector, project, tmuxutils] +import hwylterm, hwylterm/hwylcli -# TODO: add option to only opened configured sessions proc tsm(open: bool = false) = let projects = findProjects(open) @@ -12,44 +12,11 @@ proc tsm(open: bool = false) = else: tmux.attach project.name +hwylCli: + name "tsm" + V tsmVersion + flags: + open "only search open sessions" + run: + tsm(open) -# when isMainModule: - # import std/parseopt -import hwylterm, hwylterm/hwylcli - -const - tsmVersion {.strdefine.} = - staticExec "git describe --tags --always HEAD --match 'v*'" - usage = - """tmux session manager - - [bold]tsm[/] [[[faint]-h|-v|-o[/]]""" - flags = [ - ("h","help","show this help"), - ("v","version", "print version"), - ("o","open", "only search open sessions") - ] -proc help() = echo newHwylCliHelp(usage = usage, flags = flags) -var open: bool -var p = initOptParser( - shortNoVal = {'h', 'v', 'o'}, - longNoVal = @["open"] -) -for kind, key, val in p.getOpt(): - case kind: - of cmdError: assert false - of cmdEnd: assert false - of cmdArgument: - echo bb"[red]Error[/]: unexpected positional argument ", bbfmt"[bold]{key}[/]" - of cmdShortOption, cmdLongOption: - case key: - of "help", "h": - help(); quit 0 - of "version", "v": - echo "tsm: " & tsmVersion; quit 0 - of "open", "o": - open = true - else: - echo bbfmt"[red]Error[/]: unknown key value pair", bbfmt"[b]key[/]: {key}, [b]value[/]: {val}" - -tsm(open) diff --git a/tsm.nimble b/tsm.nimble index 368c198..f513317 100644 --- a/tsm.nimble +++ b/tsm.nimble @@ -12,6 +12,6 @@ binDir = "bin" requires "nim >= 2.0.0" requires "illwill >= 0.4.1" -requires "https://github.com/daylinmorgan/hwylterm#b6202f4" +requires "https://github.com/daylinmorgan/hwylterm#2a5dce88" requires "https://github.com/usu-dev/usu-nim"