feat(tricks): auto-create fish-config.1 symlink on shell start
The symlink from ~/.local/share/man/man1/fish-config.1 to docs/fish-config.1 is now created automatically alongside the existing MANPATH setup, making `man fish-config` work out of the box on any machine after cloning. Simplified docs accordingly.
This commit is contained in:
@@ -321,13 +321,13 @@ The viewer falls back through: **ov** (syntax highlight + section navigation)
|
|||||||
|
|
||||||
Examples: `config_help keybindings` · `config_help pkg` · `config_help fish-deps` · `config_help abbreviations`
|
Examples: `config_help keybindings` · `config_help pkg` · `config_help fish-deps` · `config_help abbreviations`
|
||||||
|
|
||||||
You can also read the documentation as a standard man page:
|
You can also read the documentation as a standard man page — the symlink and `MANPATH` are set up automatically on shell start:
|
||||||
|
|
||||||
```fish
|
```fish
|
||||||
man fish-config
|
man fish-config
|
||||||
```
|
```
|
||||||
|
|
||||||
This works once `~/.local/share/man` is on your `MANPATH` (added automatically by `conf.d/tricks.fish`) and `~/.local/share/man/man1/fish-config.1` is symlinked to `docs/fish-config.1`. The man page itself is auto-generated from `docs/fish-config.md` by the CI pipeline on every push to `main`.
|
The man page is auto-generated from `docs/fish-config.md` by the CI pipeline on every push to `main`.
|
||||||
|
|
||||||
> **Note:** `fish-config` (hyphen) is this configuration's man page. `fish_config` (underscore) is fish's built-in browser-based configuration tool — a completely separate command. Don't mix them up.
|
> **Note:** `fish-config` (hyphen) is this configuration's man page. `fish_config` (underscore) is fish's built-in browser-based configuration tool — a completely separate command. Don't mix them up.
|
||||||
|
|
||||||
|
|||||||
+7
-1
@@ -17,10 +17,16 @@ end
|
|||||||
fish_add_path ~/.local/bin
|
fish_add_path ~/.local/bin
|
||||||
fish_add_path ~/Applications/depot_tools
|
fish_add_path ~/Applications/depot_tools
|
||||||
|
|
||||||
# Expose user-local man pages (e.g. fish-config.1 symlinked from docs/)
|
# Expose user-local man pages and keep fish-config.1 symlink current
|
||||||
if not contains ~/.local/share/man $MANPATH
|
if not contains ~/.local/share/man $MANPATH
|
||||||
set -gx MANPATH ~/.local/share/man $MANPATH
|
set -gx MANPATH ~/.local/share/man $MANPATH
|
||||||
end
|
end
|
||||||
|
set -l _man1 ~/.local/share/man/man1
|
||||||
|
set -l _src ~/.config/fish/docs/fish-config.1
|
||||||
|
if test -f $_src; and not test -L $_man1/fish-config.1
|
||||||
|
mkdir -p $_man1
|
||||||
|
ln -sf $_src $_man1/fish-config.1
|
||||||
|
end
|
||||||
|
|
||||||
# Format man pages using bat (only if bat is installed)
|
# Format man pages using bat (only if bat is installed)
|
||||||
if type -q bat
|
if type -q bat
|
||||||
|
|||||||
+6
-6
@@ -1231,16 +1231,16 @@ navigation.
|
|||||||
|
|
||||||
bat --language=markdown --paging=always ~/.config/fish/docs/fish-config.md
|
bat --language=markdown --paging=always ~/.config/fish/docs/fish-config.md
|
||||||
|
|
||||||
## As a man page (if compiled)
|
## As a man page
|
||||||
|
|
||||||
man -l ~/.config/fish/docs/fish-config.1
|
The symlink and MANPATH are configured automatically on shell start:
|
||||||
|
|
||||||
If ~/.local/share/man is on your MANPATH (set automatically by
|
|
||||||
conf.d/tricks.fish) and ~/.local/share/man/man1/fish-config.1 is
|
|
||||||
symlinked to docs/fish-config.1, you can also use:
|
|
||||||
|
|
||||||
man fish-config
|
man fish-config
|
||||||
|
|
||||||
|
Or read the compiled file directly:
|
||||||
|
|
||||||
|
man -l ~/.config/fish/docs/fish-config.1
|
||||||
|
|
||||||
NOTE: fish-config (hyphen) is this config's man page. fish_config
|
NOTE: fish-config (hyphen) is this config's man page. fish_config
|
||||||
(underscore) is fish's built-in browser-based configuration tool —
|
(underscore) is fish's built-in browser-based configuration tool —
|
||||||
a completely separate command. Do not mix them up.
|
a completely separate command. Do not mix them up.
|
||||||
|
|||||||
Reference in New Issue
Block a user