JakeBecker / elixir-ls

A frontend-independent IDE "smartness" server for Elixir. Implements the JSON-based "Language Server Protocol" standard and provides debugger support via VS Code's debugger protocol.
Apache License 2.0
843 stars 52 forks source link

problems with code folding #176

Closed RichMorin closed 4 years ago

RichMorin commented 5 years ago

Environment

Background

I'm considering switching from BBEdit to VSCode for my Elixir development work. It's very promising, but I'm seeing some code folding behavior I dislike. However, I'm very new to both VSCode and ElixirLS, so I may be unaware of some settings I should consider using. FYI, the examples in this issue report are drawn from the file cnt_any.ex (c3790e6).

Problems

Sharp sign in column 1 breaks up a line range

I often use a sharp sign (#) in column 1 (eg, line 127 of cnt_any.ex) to disable a line of code. ElixirLS is treating this as a break in the line range, so (for example), it causes code folding to malfunction (only the code up to the line gets folded).

I realize that I could work around this problem by indenting the sharp sign, but this would be an editing hassle and it would also change the appearance of the code in a manner I'd dislike.

No code folding icon for @doc, @moduledoc, etc.

I'm not seeing a code folding icon next to the start of my @doc or @moduledoc entries, eg:

@doc """
Store a sub-map of counts in `file_info[:cnts_by_path]`.
For each file path, count files, functions, lines, and characters.
"""

I suspect that this is a general problem, affecting all multi-line attribute definitions.

No code folding icon for block comments.

I'm not seeing a code folding icon next to the start of my block comment entries, eg:

#
# Public functions
#
...
JakeBecker commented 4 years ago

This project has moved!

It's now being maintained by proactive volunteers from the Elixir community over at elixir-lsp/elixir-ls. Updates will continue to be published from that repo to the original VS Code extension, so no need to switch plugins if you're using VS Code.

To avoid inundating the new maintainers with issues, please verify that your issue persists with the latest version of the extension (which is published from the new repo) before re-filing your issue there.

Thanks for using ElixirLS!