Mercurial > p > roundup > code
view doc/Makefile @ 8440:254f70dfc585
bug, refactor, test: make pragma history_length work interactively
history_length could be set interactively, but it was never used to set
readline/pyreadline3's internal state. Using the pragma setting on the
roundup-admin command line did set readline's state.
Also refactored 2 calls to self.readline.get_current_history_length()
into one call and storing in a variable. Also changed method for
creating history strings for printing.
Tests added for history_length pragma on cli and interactive use.
Added test for exiting roundup-admin with EOF on input.
Added test for 'readline nosuchdirective' error case.
Added test to readline with a command directive to set an internal
variable. This last one has no real test to see if it was successful
because I can't emulate a real keyboard/tty which is needed to test.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 31 Aug 2025 20:59:04 -0400 |
| parents | c3bf229d3d4b |
| children |
line wrap: on
line source
##@ Default target all: man_html tracker_config.txt admin_help.html ## make all docs under share cd ..; ./setup.py build_doc ##@ build doc parts tracker_config.txt: ../roundup/configuration.py format_config.awk ## generate a current config file python3 ../roundup/scripts/roundup_admin.py \ genconfig _temp_config.txt awk -f format_config.awk _temp_config.txt | \ cat -s > tracker_config.txt rm -f _temp_config.txt ## generate html versions of man pages for inclusion in documentation # find all man pages and generate output file paths. MAN_ROFF=$(wildcard ../share/man/man1/*.1) MAN_HTML=$(patsubst ../share/man/man1/%.1,html_extra/man_pages/%.1.html,$(MAN_ROFF)) man_html: $(MAN_HTML) ## generate html versions of man pages for docs html_extra/man_pages/%.1.html: ../share/man/man1/%.1 man --html=cat $< > $@ # set max width for paragraphs sed -i '/<style/,/<\/style/s/\(p\s* { \)margin/\1max-width: 65ch; margin/' $@ # add link rel=cannonical $@(F) takes # target $@ (html_extra/man_pages/x.1.html) # and returns file part (x.1.html) sed -i '/<head>/,/<\/head>/s#^<style#<link rel="canonical" href="https://www.roundup-tracker.org/docs/man_pages/$(@F)">\n<style#' $@ #man2html $< > $@ admin_help.html: ../roundup/admin.py ## generate html version of roundup-admin help (WIP) python3 ../roundup/scripts/roundup_admin.py htmlhelp > admin_help.html ##@ Utilties clean: ## clean all generated docs rm -f _temp_config.txt tracker_config.txt \ html_extra/man_pages/*.1.html \ admin_help.py # from https://www.thapaliya.com/en/writings/well-documented-makefiles/ via # https://til.jakelazaroff.com/make/list-all-commands-in-a-makefile/ help: ## this output @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[.a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
