Questions tagged [syntax-table]
is an Emacs Lisp data structure in which each character's syntactic role is defined. Other Emacs facilities, such as font lock, navigation, parsing, etc., scan these syntax tables to determine where words, symbols, and other syntactic constructs begin and end. Syntax tables are unique to every major mode. They are customizable and even overridable with text properties.
83 questions
0
votes
2
answers
47
views
How to check if the current buffer supports "strings" via the syntax-ppss?
When writing utilities that operate on "strings", the syntax-table can be used along with the parse state (syntax-ppss), however some major modes (such as text-mode) won't treat quoted text ...
2
votes
3
answers
140
views
Can I modify a character so forward-word recognizes it as a non-limiting word constituent?
I have a keyboard layout that has keys that insert characters such as ∀, which I would like to define abbrevs for, but I can't. I tracked down the cause and it is that character ∀ is not recognized by ...
1
vote
1
answer
80
views
Ignoring scripts in regexp word boundaries
The elisp manual info node 35.3.1.3 Backslash Constructs in Regular Expressions says that
‘\<’
matches the empty string, but only at the beginning of a word....
‘\>’
matches the empty ...
1
vote
1
answer
53
views
How to make non-Latin letters part of a word
I have the following text in a (fundamental-mode) buffer:
helloαworld
and forward-word stops both before and after the alpha:
|helloαworld
hello|αworld
helloα|world
helloαworld|
However, when I do C-...
1
vote
0
answers
29
views
Treat any character like whitespace with evil
Say we open a scratch buffer with the following contents:
abc_xyz#
abc xyz#
We run
(modify-syntax-entry ?_ " ")
(modify-category-entry ?_ ?r nil t)
Now (describe-syntax) shows
_ ...
1
vote
2
answers
79
views
How to break CJK only after punctuation, not between characters?
$ emacs file.html
We have one long line, with no ASCII whitespace to break on.
Before:
weeklyOSM 的想法是蒐集來自世界各地,與 OSM 相關的新聞,處理這些新聞並將其翻譯成盡可能多種語言。這應該有助於讓社群知道所有消息並克服語言障礙。
Do M-q (fill-paragraph), getting:...
1
vote
0
answers
37
views
Make show-parens-mode recognize changed syntax table
I'm using a lot of bra-ket-like notation in LaTeX-mode, meaning things like ⟨f|, so I put
(modify-syntax-entry ?\⟨ "(|" LaTeX-mode-syntax-table)
(modify-syntax-entry ?\⟩ ")|" LaTeX-...
0
votes
1
answer
55
views
Define new comment style with string literals rather than characters
I am trying to define another comment style, similar to what we can do with modify-syntax-entry:
(modify-syntax-entry ?/ ". 124b")
(modify-syntax-entry ?* ". 23")
(modify-syntax-...
0
votes
1
answer
49
views
Whitespace in syntax table for comment delimiters in conflict with indentation and font lock
The special file format of my software uses angle brackets as a delimiter and # / # as comment markers (note the whitespace after the first # and before the last #). I try to make a major mode to ...
0
votes
1
answer
115
views
Why do Emacs Lisp regular expressions match the percentage and dollar sign as word characters?
I ran into this behavior by accident and it seems quite unusual to me.
Why do Emacs Lisp regular expressions match the percentage and dollar sign as word characters?
One theory I had was that this is ...
0
votes
0
answers
103
views
How to instruct AUCTeX to ignore a specific character when indenting?
I'm writing a document with AUCTeX using the songs package. It all works well, but it requires to input chords like in the sequence \[La]. The problem is, AUCTeX ignores the first bracket (since it is ...
1
vote
1
answer
48
views
Can replace-regexp-lax-whitespace manage "~" as a whitespace?
I have this function:
(defvar biblio-publishers-info-list
'(("Cambridge University Press" . "Cambridge, U.K."))
"DOCSTRING")
(defun biblio-publishers-info-complete ()...
1
vote
1
answer
166
views
After setting syntax-propertize-function, comment is not being fontified with comment face
I'm trying to build a major mode for xwiki, where I'm defining
{{{
verbatim
}}}
as a comment.
So far, I've done
(eval-when-compile
(defconst xwiki-syntax-propertize-rules
(syntax-...
2
votes
0
answers
25
views
Make a set of characters act as open/close syntax?
Is there a way to make a set of characters act syntactically as open/close brackets? For example, {a> as an opening bracket, and <a} as a closing bracket? I know how to do this with single ...
5
votes
1
answer
209
views
How to use a particular syntax table with arbitrary functions?
I have an Elisp function which takes a string and performs capitalization (capitalize) on it, and then inserts it into a file. Apparently capitalize doesn't consider the single quote as a "word ...
3
votes
1
answer
703
views
How do I hook fundamental-mode and all modes derived from it for modifying syntax for underscores
Here is the definition of fundamental-mode:
(defun fundamental-mode ()
"Major mode not specialized for anything in particular.
Other major modes are defined by comparison with this one."
...
1
vote
1
answer
297
views
Tex indentation with TAB
Recently, when editing files in LaTex, upon pressing TAB, I get a huge indentation. Instead, the default behavior used to be to align with respect to previous environment definition. :
I start with ...
1
vote
1
answer
318
views
Treat hyphens as part of a word?
I use:
(global-superword-mode t)
in my init.el because I don't want Emacs to treat _ as a word delimiter.
How do I do the same thing for -? I'd like to enable this globally.
1
vote
1
answer
84
views
Making Emacs see ♥ as punctuation
I'm trying to get emacs to understand ♥ as punctuation.
(modify-syntax-entry ?♥ "." text-mode-syntax-table)
I'm not sure what the issue is. (That is a unicode heart.)
(modify-syntax-entry ?\...
2
votes
0
answers
58
views
Evil text objects on kebab-case behave differently on dw and cw
I would like my evil text objects to work on kebab-case words, so that dw or cw act on the "whole-kebab-word" and not just on "whole".
Therefor I have put (modify-syntax-entry ?- "w" clojure-mode-...
2
votes
2
answers
271
views
How to use underscores as word boundary for moving cursor?
Python mode annoyingly sets underscore (_) to be part of a word, making editing very tedious.
How can one reset this to Emacs's original behaviour?
9
votes
2
answers
2k
views
How to 'modify-syntax-entry' for a major mode?
Following this answer, when I type (modify-syntax-entry ?_ "w")
and do M-x eval-region, it has the effect I'm looking for, albeit only for that buffer. I've put (modify-syntax-entry ?_ "w") in my ....
0
votes
2
answers
163
views
How do I get Emacs to accept a # (hash) sign as a comment starter in a new mode?
I am attempting to develop an Emacs major mode for writing Tecplot macros. The Tecplot macro language has lots of peculiar constructs, such as a # sign for comments and $! for the beginning of a macro ...
3
votes
1
answer
181
views
What are the downsides of changing the syntax class of quotes in text-mode and backslash in AUCTeX?
It bothered me that sexp navigation commands didn't treat a quoted string as a single expression in text-mode. This is because the quote character " is in the punctuation syntax class in the text-mode ...
1
vote
1
answer
71
views
How to run a command with 'modify-syntax-entry' reset?
I have used modify-syntax-entry to remove underscores from being delimiting characters. e.g:
(modify-syntax-entry ?_ "w")
However I would like to temporary allow underscores to be used as a ...
1
vote
1
answer
138
views
forward-word and non-letter "words"
Using forward-word with this line:
foo *** *** bar,
I want to have the folowing behavior:
foo| ***| ***| bar|,
Not:
foo| *** *** bar|,
So, if between spaces there are only non-letter symbols, let's ...
1
vote
1
answer
250
views
font-lock keywords and syntax-table mutually interfering
I would like to define something that font-locks a bit like a new sort of string-literal/comment. I might write:
(font-lock-add-keywords 'emacs-lisp-mode
(list '("<<.*>>" 0 'my-custom-...
3
votes
1
answer
382
views
Simplest Pattern for matching Identifiers in complex Regular Expressions?
I frequently need a regular expression, that approximately matches identifiers in a given environment. Ignoring the "must not start with a number" requirement, this would mean e.g.
[[:alnum:]_]+ ...
1
vote
2
answers
925
views
Syntax/indentation problems with Vue mode in Emacs 27 nightly
I'm using vue-mode, based on mmm-mode with Emacs 27 nightly from 10/10/2019. Since that Emacs update, I don't get any indentation support in the script section of a Vue file.
Try this file with emacs -...
0
votes
1
answer
86
views
How can I fix shift-select-mode with own syntax-table
So I have modified syntax table for moving with C-<left>.
(defvar my-wacky-syntax-table
(let ((table (make-syntax-table)))
(modify-syntax-entry ?\( "w" table)
(modify-...
1
vote
0
answers
74
views
Test if I am inside a paired delimiter
I have been having a problem where I want an up-sexp command that treats paired delimiters like $ in LaTeX-mode just as if they were pairs of balanced parentheses. There are hacks I can use that get ...
2
votes
1
answer
73
views
What do the spaces in the NEWENTRY parameter to modify-syntax-entry mean?
I am looking to set up a syntax table for a major mode, and many of the examples, such as lisp-mode-syntax-table have entries like the following:
(modify-syntax-entry ?\[ "_ " table)
My question ...
3
votes
1
answer
347
views
How to set backslash character "\" to be a word constituent in LaTeX-mode syntax tables
In LaTeX-mode (AUCTeX) buffers, the backslash "\" is treated as an escape character. I'd like it to be treated as word constituent (syntax class "w") instead, but only in LaTeX-mode buffers. The main ...
1
vote
1
answer
138
views
`eval-after-load` gets executed, but syntax-table is missing [duplicate]
In the course of using Emacs I got a dozen of lines that simply make underscore part of a word, and most of them upon byte-compilation are causing warnings like reference to free variable ‘php-mode-...
2
votes
2
answers
106
views
syntax table malfunction
my-test.el contains the following:
(defun test01 ()
"scan for end of entry, trapping error."
(interactive)
(condition-case nil
(setq my-pt (scan-lists (point) 1 0))
(error ...
1
vote
1
answer
36
views
TeX Mode : making backward-word behaviour take into account Backslashes (\)
In TeX Mode, backward-word (M-b) stops when it encounters a backslash character (\).
For example, when the cursor point is after a \begin and I type M-b, the cursor point ends up between the \ (...
3
votes
1
answer
187
views
Move point to just before end of a comment
Given that the point is right in front of a comment, how do I move it to the end of the comment, but before the comment end markers?
For example:
for a C++ // xxx comment, I would like to move the ...
1
vote
1
answer
148
views
extend/customize Makefile syntax table
I work with a Makefile-like infrastructure that allows having lists as variables and appending values to them. For this, the += operator is used.
However, I'm having incorrect highlighting using this ...
1
vote
2
answers
294
views
how to make emacs think semicolon and brackets are words?
i've came on emacs from Sublime Text, and there ;[]{}()., etc are counts as word, and when you move in your document with Ctrl+Arrow you never skip these characters. I want make emacs recognize all ...
1
vote
0
answers
75
views
how to treat underscore as part of word in auctex? [duplicate]
I'm using auctex, and trying to make underscores count as part of a word. There are numerous answers to this question, and I've tried the following
(modify-syntax-entry ?_ "w")
(modify-syntax-entry ?...
3
votes
2
answers
452
views
Make `thing-at-point` treat dot as a symbol-constituent character?
Is there a way to tweak thing-at-point symbol regexp, so that it ignore dots as separators? Right now foo.bar in my Emacs is recognized as two different symbols, where I wish it was one.
2
votes
1
answer
225
views
How can I make syntax-propertize skip part of the buffer?
In SPARQL, comments starts with a # and follows to the end of the line. The problem is that URI's, which is a big part of SPARQL, can also contain #, but then they are not the start of a comment. Like ...
7
votes
0
answers
120
views
What was syntax-begin-function obsoleted in favour of?
Since Emacs 25.1, syntax-begin-function is obsolete:
syntax-begin-function is a variable defined in ‘syntax.el’.
Its value is nil
This variable is obsolete since 25.1.
This variable may be risky ...
1
vote
1
answer
128
views
Complex comment-start (and end) sequence
As far as I understand there is syntax flags only for comment delimiters made up of two characters but if I have comment delimiters of length greater than two characters is it possible to change ...
2
votes
2
answers
505
views
Rx: Skip commented out lines
I'm trying to make an expression that would match the text foo if it's not on a commented out line.
;; foo ; <= not this
bar ; <= not this
foo ; <= this
Now rx.el can exclude ...
2
votes
0
answers
100
views
How can I activate my syntax-table?
I'm using SampleMode
and the ModeTutorial
to create my own mode. I have a problem with the syntax table. As I understand, // and # start one-line comments like this:
(defvar my-mode-syntax-table
(...
1
vote
1
answer
224
views
How to know what chars are "word constituents" in latex-mode-syntax-table
In some of my query-replecements I need to have only alphabetic characters as word constituents in a local defined syntax-table. My approach is this:
(with-syntax-table
(let ((my-syntax-table (make-...
3
votes
1
answer
382
views
modify syntax entry globally?
I'd like to treat underscores (_) as word characters everywhere (prog-mode, text, comments, etc.). I'm currently doing so in specific modes, like this:
(add-hook ruby-mode-hook #'ivan-treat-...
0
votes
1
answer
91
views
How come newline does not match [[:space:]] in tex-mode and bibtex-mode?
I was debugging some of my elisp code and realized that, in a tex-mode buffer, the newline character at end of line did not match [[:space:]].
In most other textmodes or progmodes, ie, the few I ...
2
votes
1
answer
184
views
specifying a syntax-table for use with TAGS file for etags
It would be convenient if I could arrange for visit-tags-table to open the TAGS file automatically with the correct syntax table for the language of the files being indexed in it. That way regular ...