immerrr / lua-mode

Emacs major mode for editing Lua
http://immerrr.github.io/lua-mode
GNU General Public License v3.0
314 stars 74 forks source link

No highlighting in comment. #172

Open jcs090218 opened 4 years ago

jcs090218 commented 4 years ago

Does anyone encountered that when opening a lua file; the comment doesn't get highlighted. 😕 I have tried to reinstall the package but nothing changes. 😕 😕 😕 😕 😕

jcs090218 commented 3 years ago

The cause by this is having (modify-syntax-entry ?- "_") inside my lua-hook. Is there a way to avoid this? Thanks!

immerrr commented 3 years ago

Sorry about the delay in response.

Firstly, to start any troubleshooting with Emacs packages it is useful to reproduce the behaviour with emacs -Q -l lua-mode.el to ensure that your personal configuration is not at fault. If the package works without your config, but fails with it, try disabling pieces of it until you arrive at a minimal example that breaks the package. It is much easier to see what is going on from the package perspective when there is a clear and small repro to follow.

Re: the syntax table modification, it is definitely something that will throw Emacs off. If you check the syntax entry in lua-mode itself, you can see that - has multiple syntax flags: it is considered as punctuation (.) and also as the first and the second characters of a comment starting sequence (12). If your new syntax table entry is missing the second part of the syntax descriptor, then it is natural that Emacs is not highlighting anything as comments. This section of Emacs documentation should help you to fix the problem.

astoff commented 3 years ago

Shouldn't comment-use-syntax be nil in Lua mode? Searching for the regexp "\\s<+" doesn't take you to the next comment, presumably because - has other meanings as well in Lua.

shubham-cpp commented 2 years ago

Facing the same issue. image

I've this inside my emacs config (modify-syntax-entry ?- "w").

Did try this with vanilla emacs and didn't face this issue but is there a workaround for this when using modify-syntax

igorepst commented 4 months ago

I wrote the following right now. Seems to work properly:

(add-hook 'after-change-major-mode-hook
  (lambda()
    (modify-syntax-entry ?_ "w")
    (pcase major-mode
      ('lua-mode
       (modify-syntax-entry ?- "w 12"))
      ('sql-mode
       (modify-syntax-entry ?- "w 12b"))
      (_ (modify-syntax-entry ?- "w")))))