HTAGS-SERVER(1)

πŸ“¦
version 6.7 Β· 2 versions
  • 6.7 Β· arch rolling, debian bookworm, debian trixie, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 6.6.5 Β· fedora 43
, in arch rolling, debian bookworm, debian trixie, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ HTAGS-SERVER ✨

okay bestie, welcome to the htags-server manual page, straight out of the General Commands Manual πŸ’–


🌸 NAME 🌸

htags-server β€” a private Web/CGI server for htags 🫢


πŸŽ€ SYNOPSIS πŸŽ€

htags-server [-b ip-address][-u language][--retry[=n]][port]

πŸ¦‹ DESCRIPTION πŸ¦‹

So htags-server is literally a private Web/CGI server for the hyper-text that htags(1) generates. no cap πŸ’…

Before you even think about running this, you gotta run htags(1) first. then you run htags-server in that same place, and boom, you can start browsing at http://localhost:8000/ by default. to stop the server you just press CTRL-C β€” iconic, minimal, we love her ✨

You need Python 2/3 or Ruby with WEBrick equipped, okay? and the way it picks: by default, htags-server looks for python first, and if that's not found, then it goes looking for ruby. she's not picky, she just has a preference πŸ₯°


πŸ’… OPTIONS πŸ’…

here's the whole menu, no skips, we're not gatekeeping:

  • -b, --bind ip-address β€” specifies the IP address that htags-server listens on. the default value is 127.0.0.1. yes she stays local, she's shy like that πŸ™ˆ
  • -u, --use language β€” specifies the language to use, and it may be one of: python and ruby. pick your fighter βš”οΈ
  • --retry[=n] β€” if the port is already in use, retry n times while incrementing the port number. the default of n is 20. so she'll keep knocking on doors till one opens πŸšͺ✨
  • port β€” specifies the port that htags-server listens on. if you wanna run multiple sessions, you must use a unique number for each htags-server. the default value is 8000 πŸ‘‘

🌈 EXAMPLES 🌈

okay so here's the whole vibe, step by step:

$ gtags
$ htags --suggest2
$ htags-server
Python2 http/cgi server
Serving HTTP on 127.0.0.1 port 8000 ...

then, in another terminal (main character energy, opening a second window):

$ firefox http://localhost:8000/

and here's what happens when the port is already taken, so you don't get jumpscared:

$ htags-server
Error: port 8000 already in use.
$ htags-server --retry
Warning: port 8000 already in use (skipped)
Please access at http://127.0.0.1:8001
Python2 http/cgi server
Serving HTTP on 127.0.0.1 port 8001 ...

see how she just moved on up to 8001? growth πŸ’


😭 DIAGNOSTICS 😭

htags-server exits with a non-0 value if an error occurred, and 0 otherwise. that's it, that's the whole mood β€” either she ate or she didn't πŸ”₯


πŸ“ SEE ALSO πŸ“

global(1), gtags(1), htags(1), python(1), ruby(1).

GNU Global source code tag system (http://www.gnu.org/software/global/).


πŸ‘‘ AUTHOR πŸ‘‘

Shigio YAMAGUCHI. 🫑


πŸ’œ HISTORY πŸ’œ

The htags-server command appeared in Global-6.3 (2014). she's been serving looks since 2014, fr fr πŸ’–


and that's the whole page bestie, go forth and browse 🌸

okay so this was the GNU Project's version from November 2016 β€” mwah, periodt πŸ’…βœ¨

πŸ“¦ where this page comes from