- Remove description fields; just use the keys as the descriptions.
- Remove ( ) around conditions.
- Add more special commands.
- Add "Snippets" as a category of the extension.
Also bump extension version - I accidentally published a WIP version as 0.2.1,
so bump it to 0.2.2.
Previously Go's == was used to test for equality when the container is not a
map, which is more strict when Elvish's normal equality test. For example,
"has-value [[foo]] [foo]" used to output false, rather than the expected true.
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.