-
-
Save Sciancisco/d1f5f1ea50481633ee1a2d270416543b to your computer and use it in GitHub Desktop.
| <?xml version="1.0" encoding="UTF-8"?> | |
| <!-- | |
| Copyright (C) 2020 - Sciancisco | |
| All rights reserved. | |
| Redistribution and use in source and binary forms, with or without | |
| modification, are permitted provided that the following conditions are met: | |
| * Redistributions of source code must retain the above copyright | |
| notice, this list of conditions and the following disclaimer. | |
| * Redistributions in binary form must reproduce the above copyright | |
| notice, this list of conditions and the following disclaimer in the | |
| documentation and/or other materials provided with the distribution. | |
| * Neither the name of the <organization> nor the | |
| names of its contributors may be used to endorse or promote products | |
| derived from this software without specific prior written permission. | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND | |
| ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
| WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
| DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY | |
| DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | |
| (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | |
| ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| --> | |
| <language id="groff" name="groff" version="2.0" _section="Markup"> | |
| <metadata> | |
| <property name="mimetypes">test/plain</property> | |
| <property name="globs">*.tmac;*.mom;*.ms;*.me;*.mm;*.1;*.2;*.3;*.4;*.5;*.6;*.7;*.8</property> | |
| </metadata> | |
| <styles> | |
| <style id="comment" name="Comment" map-to="def:comment"/> | |
| <style id="escaped-character" name="Escaped Character" map-to="def:special-char"/> | |
| <style id="macro" name="Macro" map-to="def:function"/> | |
| <style id="request" name="Request" map-to="def:builtin"/> | |
| <style id="preprocessor" name="Preprocessor Macro" map-to="def:preprocessor"/> | |
| </styles> | |
| <definitions> | |
| <context id="groff"> | |
| <include> | |
| <context id="comment-new" style-ref="comment" class="comment"> | |
| <start>\\#</start> | |
| <end>$</end> | |
| </context> | |
| <context id="comment-old" style-ref="comment" class="comment"> | |
| <start>\\"</start> | |
| <end>$</end> | |
| </context> | |
| <!-- Here starts the escape sequences mimicking the groff spec. --> | |
| <!-- If one wants to implement the entire spec, have fun: https://web.cecs.pdx.edu/~trent/gnu/groff/groff.html#SEC52 --> | |
| <context id="escape-bracket" style-ref="escaped-character" class="no-spell-check"> | |
| <start>\\[[]</start> | |
| <end>[]]</end> | |
| </context> | |
| <context id="escape-bracket-parameter" style-ref="escaped-character" class="no-spell-check"> | |
| <start>\\.[[]</start> | |
| <end>[]]</end> | |
| </context> | |
| <context id="escape-parenthesis" style-ref="escaped-character" class="no-spell-check"> | |
| <match>\\[(]..</match> | |
| </context> | |
| <context id="escape-parenthesis-parameter" style-ref="escaped-character" class="no-spell-check"> | |
| <match>\\.[(]..</match> | |
| </context> | |
| <context id="escape-simple-parameter" style-ref="escaped-character" class="no-spell-check"> | |
| <match>\\..</match> | |
| </context> | |
| <context id="escape-simple" style-ref="escaped-character" class="no-spell-check"> | |
| <match>\\.</match> | |
| </context> | |
| <!-- Highlight preprocessors --> | |
| <!-- Maybe add preprocessor syntax coloring. --> | |
| <!-- Many preprocessors are missing. --> | |
| <context id="eqn" style-ref="preprocessor" class="no-spell-check"> | |
| <!-- Could be nice to add in line highlight with "delim" eqn command --> | |
| <start>^\.EQ(\s|$)</start> | |
| <end>^\.EN</end> | |
| </context> | |
| <context id="pic" style-ref="preprocessor" class="no-spell-check"> | |
| <start>^\.PS(\s|$)</start> | |
| <end>^\.PE</end> | |
| </context> | |
| <context id="tbl" style-ref="preprocessor" class="no-spell-check"> | |
| <start>^\.TS(\s|$)</start> | |
| <end>^\.TE</end> | |
| </context> | |
| <context id="chem" style-ref="preprocessor" class="no-spell-check"> | |
| <start>^\.cstart(\s|$)</start> | |
| <end>^\.cend</end> | |
| </context> | |
| <context id="refer-opt" style-ref="preprocessor" class="no-spell-check"> | |
| <start>^\.R1(\s|$)</start> | |
| <end>^\.R2</end> | |
| </context> | |
| <context id="refer-cite" style-ref="preprocessor"> | |
| <start>^\.[[]</start> | |
| <end>^\.[]]</end> | |
| </context> | |
| <!-- General macro and request matching --> | |
| <context id="macro" style-ref="macro" class="no-spell-check"> | |
| <match>^\.[A-Z0-9_]+</match> | |
| </context> | |
| <context id="request" style-ref="request" class="no-spell-ckeck"> | |
| <match>^\.[a-z]+</match> | |
| </context> | |
| </include> | |
| </context> | |
| </definitions> | |
| </language> |
Very good, thank you! Forked it with few changes.
@Sciancisco i need to talk to you. Is possible to change this license to LGPL 2.1+?
Oh! Sorry for the ghost...
What is your case for LGPL?
I just saw it is for a merge request in GtkSourceView!
In this case I accept to the re-licensing, if it is not too late since the merge request is closed.
Kinda feel bad for not reading earlier...
It's all right, I already gave up anyway. But thanks for responding. Greetings.
SUCCESSFULLY MERGED: https://gitlab.gnome.org/GNOME/gtksourceview/-/merge_requests/371
For Gedit 45+, it must be installed in /usr/share/libgedit-gtksourceview-300/language-specs.
Cool!
Sorry again for not responding before...
Thank you!
<!-- If one wants to implement the entire spec, have fun: https://web.cecs.pdx.edu/~trent/gnu/groff/groff.html#SEC52 -->
That document is 30 years out of date. Up-to-date documentation can be found at groff's GNU home page.
Definition of the groff syntax for GtkSourceView.
This file is to be put in one of:
Once there, an editor using GtkSource View for syntax highlighting (like Gedit or Gnome Builder) should pick it up.