Highlight Keywords in Sublime Text for Better TODO in Code and Documents

Ich habe nach einer Moeglichkeit in Sublime Text gesucht, mit der ich bestimmte Schluesselworte hervorheben kann. Ich neige dazu, in Quelltexten oder Latex Dokumenten TODO Notes einzufuegen. Dazu habe ich mir Snippets gemacht.

Ich moechte, das zumindest das Schluesselwort “TODO” farblich hervorgehoben wird. Auf stackoverflow bin ich schliesslich fuendig geworden.

http://stackoverflow.com/questions/16258718/sublime-text-2-highlighting-comments-containing-todo

theblacklion hat auf bitbucket seine Sublime Text Plugins zur Verfuegung gestellt. Unter anderem auch das Script highlight_code_remarks.py, das Schlagworte wie TODO, WORKING, WAITING, DONE und andere farblich hervorheben soll. Das Script highlight_code_remarks.py habe ich im Packages/User Verzeichnis untergebracht. Wichtig ist noch zu beachten, dass der support Ordner aus dem Repository von theblacklion im eigenen User Ordner landet.

Das Repository ist hier zu finden:

https://bitbucket.org/theblacklion/sublime_plugins/src/

Als letzten Schritt habe ich die Formatierungen aus der highlight_code_remarks.py noch in mein Sublime Theme uebernommen.

Theme Anpassungen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Add these to your theme (and optionally adapt the colors to your liking):
        <dict>
            <key>name</key>
            <string>Remark TODO</string>
            <key>scope</key>
            <string>remark.todo</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FFAAAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark DONE</string>
            <key>scope</key>
            <string>remark.done</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#AAFFAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark WORKING</string>
            <key>scope</key>
            <string>remark.working</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FFFFAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark WAITING</string>
            <key>scope</key>
            <string>remark.waiting</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FFFFAA55</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark NOTE</string>
            <key>scope</key>
            <string>remark.note</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#AAAAAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark FIXME</string>
            <key>scope</key>
            <string>remark.fixme</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FFAAAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark WARNING</string>
            <key>scope</key>
            <string>remark.warning</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FB9A4B</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark INFO</string>
            <key>scope</key>
            <string>remark.info</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FFFFAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark EXCEPTION</string>
            <key>scope</key>
            <string>remark.exception</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FFAAAA</string>
            </dict>
        </dict>
        <dict>
            <key>name</key>
            <string>Remark ERROR</string>
            <key>scope</key>
            <string>remark.error</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#FB9A4B</string>
            </dict>
        </dict>

Als naechsten Schritt moechte ich noch die ganze Zeile oder einen Block farblich hervorheben. Fuer das Einfuegen neuer TODO Eintraege in Latex Dokumente habe ich mir folgendes Snippet erstellt:

Latex Todo Snippet
1
2
3
4
5
6
7
8
9
10
11
<snippet>
    <content><![CDATA[
%TODO - ${1:Name}
%------------------------------------------------------------------------------
\todo[inline]{TODO: ${2:Todotext}}

]]></content>
    <tabTrigger>todo</tabTrigger>
    <scope>text.tex.latex</scope>
    <description>Todonotes-Todo</description>
</snippet>

Auf das Latex \todo Plugin gehe ich in einem anderen Artikel noch genauer ein. Aber so viel sei schon verraten. Damit lassen sich fuer laengere Dokumente und Arbeiten sehr uebersichtliche Todo Listen und Markierungen im Dokument generieren.

Comments

GitHub Repos

  • Status updating...