Unnamed repository; edit this file 'description' to name the repository.
feat: Inject markdown into Go's block documentation comments
more chore: capture unlimited number of comments Each commen
Nik Revenco 8 months ago
parent 305f8bc · commit 0d79923
-rw-r--r--runtime/queries/go/injections.scm27
1 files changed, 27 insertions, 0 deletions
diff --git a/runtime/queries/go/injections.scm b/runtime/queries/go/injections.scm
index d7b03da3..48dfae36 100644
--- a/runtime/queries/go/injections.scm
+++ b/runtime/queries/go/injections.scm
@@ -1,6 +1,33 @@
((comment) @injection.content
(#set! injection.language "comment"))
+; Inject markdown into documentation comments
+;
+; Go's comments are documentation comments when they are directly followed
+; by one of Go's statements (e.g. `type`, `func`, `const`)
+;
+; This is only a partial implementation, which covers only
+; block comments. For line comments (which are more common),
+; upstream changes to the grammar are required.
+(
+ (comment) @injection.content . (comment)* . [
+ (package_clause) ; `package`
+ (type_declaration) ; `type`
+ (method_declaration) ; `func`
+ (var_declaration) ; `var`
+ (const_declaration) ; `const`
+ ; var (
+ ; A = 1
+ ; B = 2
+ ; )
+ (const_spec)
+ ; const (
+ ; A = 1
+ ; B = 2
+ ; )
+ (var_spec)
+ ]
+ (#set! injection.language "markdown"))
(call_expression
(selector_expression) @_function