git: 7a4c662f407f - main - termcap: add entry for Alacritty

From: Baptiste Daroussin <bapt_at_FreeBSD.org>
Date: Wed, 16 Apr 2025 19:58:05 UTC
The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=7a4c662f407f074287f42cf0652dff74a294bf0e

commit 7a4c662f407f074287f42cf0652dff74a294bf0e
Author:     Siva Mahadevan <me@svmhdvn.name>
AuthorDate: 2025-04-04 13:50:29 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2025-04-16 19:57:03 +0000

    termcap: add entry for Alacritty
    
    Out of the box on other platforms, alacritty reports `TERM=alacritty`. This requires an updated terminfo/termcap database that contains an entry for `alacritty`. Prior to this change, when you ssh into a FreeBSD machine using a default configuration of alacritty on a client system, it reports this in `motd(5)`:
    
    ```
    No entry for terminal type "alacritty";
    using dumb terminal settings.
    ```
    
    This change adds a termcap entry for alacritty, converted from the upstream-provided `alacritty.info` using `tic -C`.
    
    Signed-off-by: Siva Mahadevan <me@svmhdvn.name>
    
    MFC After:      3 days
---
 share/termcap/termcap | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/share/termcap/termcap b/share/termcap/termcap
index 8852938e9802..9704d85c942f 100644
--- a/share/termcap/termcap
+++ b/share/termcap/termcap
@@ -4770,6 +4770,44 @@ foot|foot terminal emulator:\
 	:bw:hs:\
 	:ds=\E]2;\E\\:fs=\E\\:kb=\177:ts=\E]2;:vb=\E]555\E\\:\
 	:tc=xterm-256color:
+
+alacritty|alacritty terminal emulator:\
+	:cc:\
+	:Co#256:pa#32767:\
+	:AB=\E[48;5;%dm:AF=\E[38;5;%dm:\
+	:..Ic=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\:\
+	:Sb@:Sf@:oc=\E]104\007:r1=\Ec\E]104\007:\
+	:tc=alacritty+common:
+
+alacritty-direct|alacritty with direct color indexing:\
+	:Co#16777216:pa#32767:\
+	:..AB=\E[%?%p1%{8}%<%t4%p1%d%e48\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m:\
+	:..AF=\E[%?%p1%{8}%<%t3%p1%d%e38\:2\:\:%p1%{65536}%/%d\:%p1%{256}%/%{255}%&%d\:%p1%{255}%&%d%;m:\
+	:Ic@:Sb@:Sf@:op=\E[39;49m:tc=alacritty+common:
+
+# (untranslatable capabilities removed to fit entry within 1023 bytes)
+# (sgr removed to fit entry within 1023 bytes)
+# (acsc removed to fit entry within 1023 bytes)
+# (terminfo-only capabilities suppressed to fit entry within 1023 bytes)
+alacritty+common|base fragment for alacritty:\
+	:am:bs:hs:km:mi:ms:xn:\
+	:co#80:it#8:li#24:\
+	:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\
+	:K2=\EOE:LE=\E[%dD:RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:\
+	:UP=\E[%dA:ae=\E(B:al=\E[L:as=\E(0:bl=^G:bt=\E[Z:cd=\E[J:\
+	:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=\r:\
+	:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=\n:\
+	:ds=\E]2;\007:ec=\E[%dX:ei=\E[4l:fs=^G:ho=\E[H:im=\E[4h:\
+	:is=\E[!p\E[?3;4l\E[4l\E>:k1=\EOP:k2=\EOQ:k3=\EOR:\
+	:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:\
+	:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:\
+	:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:\
+	:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[0m:mh=\E[2m:\
+	:mm=\E[?1034h:mo=\E[?1034l:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:\
+	:se=\E[27m:sf=\n:so=\E[7m:sr=\EM:st=\EH:ta=^I:\
+	:te=\E[?1049l\E[23;0;0t:ti=\E[?1049h\E[22;0;0t:\
+	:ts=\E]2;:ue=\E[24m:up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:\
+	:ve=\E[?12l\E[?25h:vi=\E[?25l:vs=\E[?12;25h:
 #
 # END OF TERMCAP
 # ------------------------