@@ -82,6 +82,25 @@ the configuration in the constant `sdml-mode-folding-definitions`.
82
82
Default indentation is two spaces, although this can be overridden by the custom
83
83
variable ` sdml-mode-indent-offset ` .
84
84
85
+ ## Ctags Support
86
+
87
+ Using [ Universal Ctags] ( https://ctags.io ) and the [ sdml-ctags] ( https://github.com/sdm-lang/sdml-ctags ) package provides a tagging solution for
88
+ SDML source. The ` sdml-mode-ctags-mode ` will determine if [ ` company-mode ` ] ( https://company-mode.github.io/ ) installed
89
+ and add SDML as a supported tag backend. Additionally, this minor mode provides
90
+ a command to re-create the project's tag file. The image below shows company
91
+ used as the completion UI for type completion when editing.
92
+
93
+ ![ Completion] ( ./images/emacs-completion.png )
94
+
95
+ ## Tool Commands
96
+
97
+ A number of the tools provided by the SDML command-line tool are exposed as
98
+ Emacs commands. The following image shows two tools in use, the module
99
+ dependency tree and the validation tool. The tree view can be refreshed using
100
+ the common binding of ` g ` and quit with ` q ` .
101
+
102
+ [ Tool Commands] ( ./images/emacs-tools.png )
103
+
85
104
### Abbreviations and Skeletons
86
105
87
106
This package creates a new ` abbrev-table ` , named ` sdml-mode-abbrev-table ` , which
@@ -107,12 +126,13 @@ cursor position.
107
126
Note that for annotation properties with language string values the skeletons
108
127
will add the value of the Emacs variable ` locale-language ` as the language tag.
109
128
110
- ### Debugging
129
+ ### Default Key Bindings
111
130
112
131
* ` C-c C-s d ` -- open the tree-sitter debug view
113
132
* ` C-c C-s q ` -- open the tree-sitter query builder
114
133
* ` C-c C-s t ` -- open a dependency tree view
115
134
* ` C-c C-s v ` -- run the validator in a compilation window
135
+ * ` C-c C-s g ` -- run u-ctags for the current project
116
136
117
137
## Add-Ons
118
138
0 commit comments