Commit Graph

16 Commits

Author SHA1 Message Date
bd66da130e feat: focus search bar on startup by default
The search input is now focused when the TUI opens, so filtering works
immediately without an extra keystroke. This is especially helpful with
many hosts.

Removes the now-redundant -s/--search flag and updates the docs.
2026-07-09 12:24:10 +02:00
9c639206f7 feat: add hidden tag to hide hosts from TUI and search
Hosts tagged with "hidden" are excluded from the TUI list, shell
completions, and sshm search. Direct connections via sshm <host>
still work regardless of the tag.

A toggle key (H) shows or hides hidden hosts in the TUI, with a
yellow banner indicating the active state. The key is documented
in the help panel (h).

A contextual hint on the Tags field in the add and edit forms
reminds the user that "hidden" hides the host from the list.
2026-02-25 20:27:22 +01:00
f189cb37e3 feat: add --no-update-check flag and disable update check via config (issue #23)
Add support for disabling the automatic update check at startup, which could cause delays on air-gapped or offline machines due to DNS timeouts.

- Add --no-update-check CLI flag for one-time override
- Add check_for_updates field (*bool) to AppConfig with default true
- CLI flag overrides the config file setting (both feed into IsUpdateCheckEnabled)
- Move update check from --version template to TUI Init() only, respecting the new configuration
- Remove getVersionWithUpdateCheck() from cmd/root.go; --version now prints a plain version string
- Rename internal/config/keybindings.go → appconfig.go and keybindings_test.go → appconfig_test.go to reflect the broader scope of the file
- Add TestIsUpdateCheckEnabled with table-driven cases (nil config, nil field, true, false) and extend existing integration test with a CheckForUpdates round-trip
- Update README: document --no-update-check flag, config option, and rename "Custom Key Bindings" section to "Application Configuration"
2026-02-23 21:28:54 +01:00
David Ibia
7d9b794ceb feat: add info command for JSON host details
Adds a jq-friendly `sshm info` subcommand with host completion and documentation, and makes home directory resolution testable for backup path tests.
2026-01-12 23:53:35 +01:00
David Ibia
2f9587c8c8 feat: add shell completion for host names (#37)
- Add ValidArgsFunction to RootCmd for dynamic host completion
- Add 'sshm completion' subcommand for bash/zsh/fish/powershell
- Support prefix matching and case-insensitive filtering
- Respect --config flag for custom SSH config files
- Add comprehensive tests for completion functionality
- Document setup instructions in README

Co-authored-by: Guillaume Archambault <67098259+Gu1llaum-3@users.noreply.github.com>
2026-01-04 19:37:52 +01:00
David Ibia
435597f694 feat: add remote command execution support (#36)
Allow executing commands on remote hosts via 'sshm <host> <command>'.
Add -t/--tty flag for forcing TTY allocation on interactive commands.

Co-authored-by: Guillaume Archambault <67098259+Gu1llaum-3@users.noreply.github.com>
2026-01-04 19:24:31 +01:00
Simon Gaufreteau
ce9d678652 feat: ProxyCommand support (#26)
* Add base for ProxyCommand

* Fix crashes with ProxyCommand

* Add ProxyCommand to README

---------

Co-authored-by: Simon Gaufreteau <sgaufret@amazon.lu>
2026-01-04 17:49:04 +01:00
049998c235 docs: update README.md and remove CONFIG.md 2025-10-04 17:02:21 +02:00
3d746ec49a doc: update installation instructions for Homebrew 2025-09-17 15:24:17 +02:00
2425695992 docs: update README 2025-09-13 11:53:45 +02:00
67987e6242 refactor: move SSH backups to ~/.config/sshm/backups/ 2025-09-06 23:36:12 +02:00
b67f5abbbc docs: update README features 2025-09-05 12:46:16 +02:00
2deec405f7 feat: add port forwarding support 2025-09-04 10:34:54 +02:00
20bc506e36 feat: add Windows platform support 2025-09-03 17:48:58 +02:00
e8c6e602a2 docs: update README.md 2025-09-03 11:57:26 +02:00
fad2585d5e first commit 2025-08-31 22:57:23 +02:00