1e1d40851c
Vendor the MIT-licensed cfmleditor/tree-sitter-cfml grammars and wire both CFML dialects through the pipeline: - .cfc components -> cfscript grammar (CBM_LANG_CFSCRIPT): a JS-like grammar, so function/method declarations, calls and imports extract with the shared JS/TS arrays. Components' functions become Function nodes. - .cfm templates -> cfml tag grammar (CBM_LANG_CFML): tag-based (HTML-derived). Embedded <cfscript> functions extract via function_declaration; tag-based <cffunction name="..."> nodes are handled by a dedicated walker branch that reads the name attribute (cf_function_tag has no name field). Shared scanner headers are vendored at vendored/common/ so the grammar's ../../common/ includes resolve without editing vendored sources. Adds an ASCII case-insensitive compare for CFML's case-insensitive attributes. Tests cover both dialects and the extension mapping. LICENSEs vendored. Closes #38
7 lines
389 B
C
7 lines
389 B
C
// Vendored tree-sitter grammar: cfml (CFML tag dialect — .cfm templates)
|
|
// Each grammar compiled as separate unit (conflicting static symbols).
|
|
// scanner.c pulls in the shared ../../common/scanner.h (and tag.h), which is
|
|
// all-static; tag.c is therefore NOT included here (it would redefine it).
|
|
#include "vendored/grammars/cfml/parser.c"
|
|
#include "vendored/grammars/cfml/scanner.c"
|