diff --git a/download_parse.sh b/download_parse.sh index 1350c9e..cb8cbf1 100755 --- a/download_parse.sh +++ b/download_parse.sh @@ -2,7 +2,7 @@ set -euo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" -VERSION="v0.0.9" +VERSION="v0.0.10" rm -f parse.gz parse curl -Lo parse.gz "https://github.com/Exafunction/codeium-parse/releases/download/$VERSION/parse.gz" gzip -d parse.gz diff --git a/goldens/test.cpp.golden b/goldens/test.cpp.golden index a09791d..7227364 100644 --- a/goldens/test.cpp.golden +++ b/goldens/test.cpp.golden @@ -1,15 +1,29 @@ +Name: bar +Definition (definition.namespace): +namespace bar { +// Declaration. +bool baz(const std::string& bing); + +struct Foo2; + +} + Name: baz Parameters: (const std::string& bing) Doc: // Declaration. Declaration (definition.function): bool baz(const std::string& bing); +Lineage: [bar] +Lineage types: [namespace] -Name: bar::bar2 +Name: bar2 Definition (definition.namespace): namespace bar::bar2 { struct Foo3; } +Lineage: [bar] +Lineage types: [namespace] Name: Foo Definition (definition.class): diff --git a/goldens/test.html.golden b/goldens/test.html.golden new file mode 100644 index 0000000..c72f544 --- /dev/null +++ b/goldens/test.html.golden @@ -0,0 +1,17 @@ +Name: fib +Parameters: (n) +Definition (definition.function): +function fib(n) { + if (n <= 1) { + return n; + } + return fib(n - 1) + fib(n - 2); + } + +Name: fib +Reference (reference.call): +fib(n - 1) + +Name: fib +Reference (reference.call): +fib(n - 2) diff --git a/queries/cpp_tags.scm b/queries/cpp_tags.scm index 9e7f3b8..ee75f84 100644 --- a/queries/cpp_tags.scm +++ b/queries/cpp_tags.scm @@ -28,4 +28,6 @@ ) (namespace_definition - name: (namespace_definition_name) @name) @definition.namespace + name: (_) @name + (#lineage-from-name! "::") +) @definition.namespace diff --git a/queries/html_injections.scm b/queries/html_injections.scm new file mode 100644 index 0000000..2244337 --- /dev/null +++ b/queries/html_injections.scm @@ -0,0 +1,15 @@ +(script_element + (start_tag) @_ + (raw_text) @injection.content + (#not-match? @_ " src=") + (#match? @_ " type=\"text/javascript\"") + (#set! injection.language javascript) +) + +(script_element + (start_tag) @_ + (raw_text) @injection.content + (#not-match? @_ " src=") + (#not-match? @_ " type=") + (#set! injection.language javascript) +) diff --git a/queries/vue.scm b/queries/vue_injections.scm similarity index 100% rename from queries/vue.scm rename to queries/vue_injections.scm diff --git a/test_files/test.html b/test_files/test.html new file mode 100644 index 0000000..cd70fec --- /dev/null +++ b/test_files/test.html @@ -0,0 +1,17 @@ + + +
+