bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#70464: [PATCH] Add font-locking for Rust macro variables


From: Noah Peart
Subject: bug#70464: [PATCH] Add font-locking for Rust macro variables
Date: Thu, 18 Apr 2024 18:42:36 -0700

Tags: patch


Adds some tree-sitter font-locking rules in rust-ts-mode to fontify
meta variables, their types, and repetition operators in macros.

These rules add new font-locking as indicated in the following
snippet:

    macro_rules! unsafe_raw_call {
        ($env:expr, $name:ident $(, $args:expr)*) => {
//          ^ font-lock-variable-name-face
//                  ^ font-lock-type-face
//                                              ^ font-lock-operator-face
//                                                                     ^ font-lock-operator-face
            {
                let env = $env;
//                                ^ font-lock-variable-use-face
                let result = unsafe {
                    let $name = raw_fn!(env, $name);
                    $name(env.raw $(, $args)*)
                };
                env.handle_exit(result)
            }
        };
    }

I also removed the last occurrence of the following duplicated rule from the `type` feature:
    (type_identifier) @font-lock-type-face

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.33, cairo version 1.16.0) of 2024-04-18 built on noah-X580VD
Repository revision: 0a57dfcff8d0abcf4427cfbfd886264bb3b8eaab
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.4 LTS

Configured using:
 'configure --prefix=/usr/local --with-modules --with-tree-sitter
--with-threads --with-x-toolkit=gtk3 --with-xwidgets --with-gnutls
--with-json --with-mailutils --with-jpeg --with-png --with-rsvg
--with-tiff --with-xml2 --with-xpm --with-imagemagick CC=gcc-12
CXX=gcc-12'

Attachment: 0001-Add-font-locking-for-Rust-macros.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]