On Thu, Dec 25, 2025 at 08:58:50AM +0100, [email protected] wrote:
> From: Jochen Sprickerhof <[email protected]>
> 
> st supports this already, only the terminfo was missing. Test with:
> 
> echo -e "\x1b[4:1mThis\x1b[4:2m is\x1b[4:3m a\x1b[4:4m test\x1b[4:5m 
> for\x1b[4:0m underlines"
> 
> Needed for underline spelling errors in neovim inside tmux since
> 
> https://github.com/tmux/tmux/commit/7499d925da697498b7ee69b0effaa8b5176a50bf
> ---
>  st.info | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/st.info b/st.info
> index efab2cf..4e27f7a 100644
> --- a/st.info
> +++ b/st.info
> @@ -177,6 +177,7 @@ st-mono| simpleterm monocolor,
>       smkx=\E[?1h\E=,
>       smso=\E[7m,
>       smul=\E[4m,
> +     Smulx=\E[4:%p1%dm,
>       tbc=\E[3g,
>       tsl=\E]0;,
>       xenl,
> -- 
> 2.51.0
> 
> 

Hi,

I'm not sure, because st does not support all the options (double underscore,
curly underscore, etc).

It is only a tmux terminfo extension?

In the tmux man page section TERMINFO EXTENSIONS:

       Smulx   Set a styled underscore.  The single parameter is one of:
               0 for no underscore, 1 for normal underscore, 2 for double
               underscore, 3 for curly underscore, 4 for dotted
               underscore and 5 for dashed underscore.

https://man7.org/linux/man-pages/man1/tmux.1.html#TERMINFO_EXTENSIONS

It seems in tmux you can override it also with the "terminal-overrides"
configuration option?
        https://man.openbsd.org/tmux#terminal-overrides__

        set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'

It is not something I use, so I don't know all the details.

-- 
Kind regards,
Hiltjo

Reply via email to