From: Dmitry Gutov <dmitry@gutov.dev>
To: Wilhelm Kirschbaum <wkirschbaum@gmail.com>
Cc: Andrey Listopadov <andreyorst@gmail.com>, 67246@debbugs.gnu.org
Subject: bug#67246: 30.0.50; elixir-ts-mode uses faces inconsistently
Date: Wed, 29 Nov 2023 05:24:53 +0200 [thread overview]
Message-ID: <22ea1559-f44e-933d-e60a-9caa62b376a8@gutov.dev> (raw)
In-Reply-To: <87bkbfkr1h.fsf@gmail.com>
On 27/11/2023 19:59, Wilhelm Kirschbaum wrote:
> Here is a patch to address numerous issues flagged on Elixir slack,
> Github and in this thread. It will not be perfect, but since the
> changes are pretty large I want to get this in and then we can pick on
> specific issues afterwards if that makes sense?
Thank you. No problem, pushed to master.
> I am making the assumption that it is okay to rename custom faces as
> elixir-ts-mode is only for 30.
I think so.
> One thing I tried to get right is to ensure that each level works
> relatively well, which means a bit more brute forcing queries. I have
> not seen a major performance issue on massic Elixir files, so think its
> fine.
One thing that jumped out at me is that arguments in method definitions
(e.g. 'def build(parent, root_path, opts) do') are highlighted with the
-use- face. Apparently, that's simply because the grammar parses these
as nodes of type "call", just like it does for regular function calls.
So that's unusual.
I suppose it's possible to separate them by matching on the call
target's text? Which would be "def" or "defp".
Conversely, variable refs in expressions such as
%{
"start" => %{"line" => line, "character" => start_idx},
"end" => %{"line" => line, "character" => start_idx + length}
}
are highlighted with -name-, even though there's no destructuring here.
Anyway, good job, I can see that Elixir's grammar is one of the harder
ones to work with.
next prev parent reply other threads:[~2023-11-29 3:24 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-17 19:50 bug#67246: 30.0.50; elixir-ts-mode uses faces inconsistently Andrey Listopadov
2023-11-18 1:36 ` Dmitry Gutov
2023-11-18 7:50 ` Wilhelm Kirschbaum
2023-11-20 1:50 ` Dmitry Gutov
2023-11-20 10:00 ` Andrey Listopadov
2023-11-24 18:56 ` Wilhelm Kirschbaum
2023-11-24 19:05 ` Dmitry Gutov
2023-11-24 19:23 ` Wilhelm Kirschbaum
2023-11-24 19:30 ` Dmitry Gutov
2023-11-24 19:47 ` Wilhelm Kirschbaum
2023-11-25 0:21 ` Dmitry Gutov
2023-11-25 8:33 ` Andrey Listopadov
2023-11-25 23:26 ` Dmitry Gutov
2023-11-27 17:59 ` Wilhelm Kirschbaum
2023-11-29 3:24 ` Dmitry Gutov [this message]
2023-12-03 10:41 ` Andrey Listopadov
2023-12-04 17:50 ` Wilhelm Kirschbaum
2023-12-04 17:46 ` Wilhelm Kirschbaum
2024-01-10 17:47 ` Stefan Kangas
2024-01-13 8:50 ` Wilhelm Kirschbaum
2024-01-29 4:08 ` Dmitry Gutov
2024-01-30 1:59 ` Dmitry Gutov
2024-02-05 17:05 ` Wilhelm Kirschbaum
2024-02-05 17:34 ` Wilhelm Kirschbaum
2024-02-05 17:42 ` Dmitry Gutov
2024-02-05 17:47 ` Wilhelm Kirschbaum
2024-02-05 20:51 ` Dmitry Gutov
2024-02-07 2:21 ` Dmitry Gutov
2024-02-23 15:05 ` Wilhelm Kirschbaum
2024-02-07 2:21 ` Dmitry Gutov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=22ea1559-f44e-933d-e60a-9caa62b376a8@gutov.dev \
--to=dmitry@gutov.dev \
--cc=67246@debbugs.gnu.org \
--cc=andreyorst@gmail.com \
--cc=wkirschbaum@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).