LaTeX has plain text (natural language), macros (always preceded by a `\`),
environments (like macros, but without the `\` in the beginning. They only
appear as arguments for macros, like in `\begin{env}`.) and labels (which are
not preceded by `\` and can contain mostly anything, like spaces. They are also
only used as arguments, like in `\ref{label name}`). The parser identifies each
one of these (except plain text) as different kinds. Additionally, it has
chapter, section, subsection and subsubsection, but I guess these are only for
navigation, so that the user can quickly jump to different parts of the
document.
The lexer is capable of identifying a `\begin` and its argument (that is, its
argument is highlighted differently from arguments of other macros), so
differentiating between labels and environments should be possible. It also
treats macros differently from plain text.
Currently, geany is capable of omitting autocomplete inside strings and
comments. So if plain text is treated as a string by [this
function](https://github.com/geany/geany/blob/master/src/highlighting.c#L1391),
autocomplete would be disabled for it. Then it would be possible to remove `\`
from wordchars in editor.c as well as the LaTeX-specific portion to separate
macros.
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1011#issuecomment-215342891