This is to prepare for a stylesheet overhaul that will reduce the width of the
body text.
Also change home/pipelines.elvts to use XKCD instead, which is a bit more
interesting than GitHub and makes for a shorter URL.
As can be seen in the screenshot in
https://github.com/elves/elvish/pull/1684#issuecomment-1493016037, the on-hover
doc shows "```elvish" for the code block that contains the usage of the command,
which shouldn't appear in the rendered Markdown.
This is because the response uses the deprecated MarkedString format, where
> The pair of a language and a value is an equivalent to markdown:
> ```${language}
> ${value}
> ```
When this format is used, the "```elvish" code block is embedded inside another
"```markdown" codeblock, which leads to this weird rendering artifact.
Switching to the new MarkupContent format fixes this issue. However, the
github.com/sourcegraph/go-lsp is outdated and doesn't have this type defined, so
define it ourselves for now. In future we should switch to a more up-to-date Go
package that contains the LSP types.
Also remove the superfluous MarkdownShowMaybe function, and just export
doc.Source. The former did nothing useful other than prepending "# symbol". I
tested the on-hover docs of both Go and JavaScript in VS Code, both start with
the declaration of the symbol, not a heading.
The `epm` module depends unnecessarily on several external commands;
e.g., `cat` and `test`. Remove those dependencies. It also has a bug in
its `-first-upper` function due to using the obsolete colon slice index
syntax rather than the double period (`..`) syntax. Replace that
function with the `str:title` builtin.
Related: 1661
When encountering files that can't be lstat'ed, simply ignore them instead of
terminating the entire globbing process. This is consistent with how directories
that can't be read are already silently ignored.
This fixes#1674.
This fixes#1668, because the crashing listbox rendering code uses "len(line) >
0" (where line is a ui.Text) to test whether it is non-empty. This test doesn't
work with the ui.Text constructed using "styled ''", which creates a ui.Text
with one empty segment.
The functions from the ui package are guaranteed to never return such ui.Text
instances, so switching the implementation of the styled builtin to functions
from the ui package fixes this.
The 0.19.0 version was tagged by mistake but has already been picked up by some
package managers. To avoid disrupting them, skip this version number and use
0.19.1.
This gives the user some useful feedback that a key was received but not bound.
The feature was present in the original implementation of the line editor but
was lost during the rewrite.