summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig4
-rw-r--r--.github/workflows/release.yml8
-rw-r--r--CHANGELOG.md1
-rw-r--r--INSTALL.md6
-rw-r--r--extra/alacritty-msg.man64
-rw-r--r--extra/alacritty.man93
-rw-r--r--extra/man/alacritty-msg.1.scd59
-rw-r--r--extra/man/alacritty.1.scd92
8 files changed, 163 insertions, 164 deletions
diff --git a/.editorconfig b/.editorconfig
index 877f8a2e..d68a9a4d 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -16,3 +16,7 @@ indent_size = 2
[Makefile]
indent_style = tab
+
+[*.scd]
+indent_style = tab
+tab_width = 4
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1b911d96..ed417a65 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -67,13 +67,13 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get install cmake pkg-config libfreetype6-dev libfontconfig1-dev \
- libxcb-xfixes0-dev libxkbcommon-dev python3
+ libxcb-xfixes0-dev libxkbcommon-dev python3 scdoc
- name: Test
run: cargo test --release
- - name: Gzip manpage
+ - name: Generate manpages
run: |
- gzip -c "./extra/alacritty.man" > "./alacritty.1.gz"
- gzip -c "./extra/alacritty-msg.man" > "./alacritty-msg.1.gz"
+ scdoc < extra/man/alacritty.1.scd | gzip -c > "./alacritty.1.gz"
+ scdoc < extra/man/alacritty-msg.1.scd | gzip -c > "./alacritty-msg.1.gz"
- name: Upload Assets
run: |
mv ./extra/logo/alacritty-term.svg ./Alacritty.svg
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 597334d9..52dbb9fc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Packaging
- Minimum Rust version has been bumped to 1.65.0
+- Manpages are now generated using `scdoc` (see `INSTALL.md`)
### Changed
diff --git a/INSTALL.md b/INSTALL.md
index 51bc4762..debe3f81 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -327,12 +327,12 @@ directory.
### Manual Page
-Installing the manual page requires the additional dependency `gzip`.
+Installing the manual page requires the additional dependencies `gzip` and `scdoc`.
```sh
sudo mkdir -p /usr/local/share/man/man1
-gzip -c extra/alacritty.man | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
-gzip -c extra/alacritty-msg.man | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
+scdoc < extra/man/alacritty.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty.1.gz > /dev/null
+scdoc < extra/man/alacritty-msg.1.scd | gzip -c | sudo tee /usr/local/share/man/man1/alacritty-msg.1.gz > /dev/null
```
### Shell completions
diff --git a/extra/alacritty-msg.man b/extra/alacritty-msg.man
deleted file mode 100644
index 4c843899..00000000
--- a/extra/alacritty-msg.man
+++ /dev/null
@@ -1,64 +0,0 @@
-.TH ALACRITTY-MSG "1" "October 2021" "alacritty 0.13.0-dev" "User Commands"
-.SH NAME
-alacritty-msg \- Send messages to Alacritty
-.SH "SYNOPSIS"
-alacritty msg [OPTIONS] <MESSAGE> [MESSAGE_OPTIONS]
-.SH DESCRIPTION
-This command communicates with running Alacritty instances through a socket,
-making it possible to control Alacritty without directly accessing it.
-.SH "OPTIONS"
-\fB\-s\fR, \fB\-\-socket\fR <socket>
-Path for IPC socket creation
-.SH "MESSAGES"
-.TP
-\fBcreate-window\fR
-Create a new window in the same Alacritty process
-.TP
-.SH "\tOPTIONS"
-.RS 12
-.TP
-\fB\-\-hold\fR
-Remain open after child process exits
-.TP
-\fB\-\-working\-directory\fR <working\-directory>
-Start the shell in the specified working directory
-.TP
-\fB\-e\fR, \fB\-\-command\fR <command>...
-Command and args to execute (must be last argument)
-.RE
-.TP
-\fBconfig\fR
-Update the Alacritty configuration
-.TP
-.SH "\tARGS"
-.RS 12
-.TP
-\fB<CONFIG_OPTIONS>...\fR
-Configuration file options [example: cursor.style=Beam]
-.RE
-.TP
-.SH "\tOPTIONS"
-.RS 12
-.TP
-\fB\-w\fR, \fB\-\-window\-id\fR <WINDOW_ID>
-Window ID for the new config.
-
-Use `-1` to apply this change to all windows.
-
-[default: \fB$ALACRITTY_WINDOW_ID\fR]
-.RE
-.SH "SEE ALSO"
-See the alacritty github repository at https://github.com/alacritty/alacritty for the full documentation.
-.SH "BUGS"
-Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
-.SH "MAINTAINERS"
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-Christian Duerr <contact@christianduerr.com>
diff --git a/extra/alacritty.man b/extra/alacritty.man
deleted file mode 100644
index d1472bfd..00000000
--- a/extra/alacritty.man
+++ /dev/null
@@ -1,93 +0,0 @@
-.TH ALACRITTY "1" "August 2018" "alacritty 0.13.0-dev" "User Commands"
-.SH NAME
-Alacritty \- A fast, cross-platform, OpenGL terminal emulator
-.SH "SYNOPSIS"
-alacritty [SUBCOMMANDS] [FLAGS] [OPTIONS]
-.SH DESCRIPTION
-Alacritty is a modern terminal emulator that comes with sensible defaults, but
-allows for extensive configuration. By integrating with other applications,
-rather than reimplementing their functionality, it manages to provide a flexible
-set of features with high performance.
-.SH "FLAGS"
-.TP
-\fB\-h\fR, \fB\-\-help\fR
-Prints help information
-.TP
-\fB\-\-hold\fR
-Remain open after child process exits
-.TP
-\fB\-\-print\-events\fR
-Print all events to stdout
-.TP
-\fB\-q\fR
-Reduces the level of verbosity (the min level is \fB\-qq\fR)
-.TP
-\fB\-\-ref\-test\fR
-Generates ref test
-.TP
-\fB\-v\fR
-Increases the level of verbosity (the max level is \fB\-vvv\fR)
-.TP
-\fB\-V\fR, \fB\-\-version\fR
-Prints version information
-.SH "OPTIONS"
-.TP
-\fB\-\-class\fR <general> | <general>,<instance>
-Defines the window class hint on Linux [default: Alacritty,Alacritty]
-
-When only the general class is passed, instance will be set to the same value.
-
-On Wayland the general class sets the `app_id`, while the instance class is ignored.
-.TP
-\fB\-e\fR, \fB\-\-command\fR <command>...
-Command and args to execute (must be last argument)
-.TP
-\fB\-\-config\-file\fR <config\-file>
-Specify alternative configuration file
-
-Alacritty looks for the configuration file at the following paths:
- 1. $XDG_CONFIG_HOME/alacritty/alacritty.yml
- 2. $XDG_CONFIG_HOME/alacritty.yml
- 3. $HOME/.config/alacritty/alacritty.yml
- 4. $HOME/.alacritty.yml
-
-On Windows, the configuration file is located at %APPDATA%\\alacritty\\alacritty.yml.
-.TP
-\fB\-\-embed\fR <parent>
-X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)
-.TP
-\fB\-o\fR, \fB\-\-option\fR <option>...
-Override configuration file options [example: cursor.style=Beam]
-.TP
-\fB\-\-socket\fR <socket>
-Path for IPC socket creation
-.TP
-\fB\-T\fR, \fB\-\-title\fR <title>
-Defines the window title [default: Alacritty]
-.TP
-\fB\-\-working\-directory\fR <working\-directory>
-Start the shell in the specified working directory
-.SH "SUBCOMMANDS"
-.TP
-\fBmsg\fR
-Available socket messages
-.SH "SEE ALSO"
-See the alacritty github repository at https://github.com/alacritty/alacritty for the full documentation.
-.SH "BUGS"
-Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
-.SH "MAINTAINERS"
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-Christian Duerr <contact@christianduerr.com>
-.sp
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-Joe Wilm <joe@jwilm.com>
diff --git a/extra/man/alacritty-msg.1.scd b/extra/man/alacritty-msg.1.scd
new file mode 100644
index 00000000..d499f5f1
--- /dev/null
+++ b/extra/man/alacritty-msg.1.scd
@@ -0,0 +1,59 @@
+ALACRITTY-MSG(1)
+
+# NAME
+
+alacritty-msg - Send messages to Alacritty
+
+# SYNOPSIS
+
+This command communicates with running Alacritty instances through a socket,
+making it possible to control Alacritty without directly accessing it.
+
+# OPTIONS
+
+*-s, --socket* <socket>
+ Path for IPC socket communication
+
+# MESSAGES
+
+*create-window*
+ Create a new window in the same Alacritty process
+
+ *OPTIONS*
+ *--hold*
+ Remain open after child process exits
+
+ *--working-directory* <working-directory>
+ Start the shell in the specified working directory
+
+ *command* <command>...
+ Command and args to execute (must be last argument)
+
+*config*
+ Update the Alacritty configuration
+
+ *ARGS*
+ *<CONFIG_OPTIONS>...*
+ Configuration file options [example: cursor.style=Beam]
+
+ *OPTIONS*
+ *-w, --window-id* <WINDOW_ID>
+ Window ID for the new config.
+
+ Use _-1_ to apply this change to all windows.
+
+ \[default: *$ALACRITTY_WINDOW_ID*]
+
+# SEE ALSO
+
+See the alacritty github repository at https://github.com/alacritty/alacritty
+for the full documentation.
+
+# BUGS
+
+Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
+
+# MAINTAINERS
+
+- Christian Duerr <contact@christianduerr.com>
+- Kirill Chibisov <contact@kchibisov.com>
diff --git a/extra/man/alacritty.1.scd b/extra/man/alacritty.1.scd
new file mode 100644
index 00000000..4278eba1
--- /dev/null
+++ b/extra/man/alacritty.1.scd
@@ -0,0 +1,92 @@
+ALACRITTY(1)
+
+# NAME
+
+Alacritty - A fast, cross-platform, OpenGL terminal emulator
+
+# SYNOPSIS
+
+Alacritty is a modern terminal emulator that comes with sensible defaults, but
+allows for extensive configuration. By integrating with other applications,
+rather than reimplementing their functionality, it manages to provide a flexible
+set of features with high performance.
+
+# FLAGS
+
+*-h, --help*
+ Prints help information
+
+*--hold*
+ Remain open after child process exits
+
+*--print-events*
+ Print all events to stdout
+
+*-q*
+ Reduces the level of verbosity (the min level is *-qq*)
+
+*--ref-test*
+ Generates ref test
+
+*-v*
+ Increases the level of verbosity (the max level is *-vvv*)
+
+*-V, --version*
+ Prints version information
+
+# OPTIONS
+
+*--class* <general> | <general>,<instance>
+ Defines the window class hint on Linux [default: Alacritty,Alacritty]
+
+ When only the general class is passed, instance will be set to the same value.
+
+ On Wayland the general class sets the _app\_id_, while the instance class is ignored.
+
+*-e, --command* <command>...
+ Command and args to execute (must be last argument)
+
+*--config-file* <config-file>
+ Specify alternative configuration file
+
+ Alacritty looks for the configuration file at the following paths:
+ . $XDG_CONFIG_HOME/alacritty/alacritty.yml
+ . $XDG_CONFIG_HOME/alacritty.yml
+ . $HOME/.config/alacritty/alacritty.yml
+ . $HOME/.alacritty.yml
+
+ On Windows, the configuration file is located at %APPDATA%\\alacritty\\alacritty.yml.
+
+*--embed* <parent>
+ X11 window ID to embed Alacritty within (decimal or hexadecimal with _0x_ prefix)
+
+*-o, --option* <option>...
+ Override configuration file options [example: cursor.style=Beam]
+
+*--socket* <socket>
+ Path for IPC socket creation
+
+*-T, --title* <title>
+ Defines the window title [default: Alacritty]
+
+*--working-directory* <working-directory>
+ Start the shell in the specified working directory
+
+# SUBCOMMANDS
+
+*msg*
+ Send IPC socket messages (see *alacritty-msg*(1))
+
+# SEE ALSO
+
+See the alacritty github repository at https://github.com/alacritty/alacritty
+for the full documentation.
+
+# BUGS
+
+Found a bug? Please report it at https://github.com/alacritty/alacritty/issues.
+
+# MAINTAINERS
+
+- Christian Duerr <contact@christianduerr.com>
+- Kirill Chibisov <contact@kchibisov.com>