List of Lucee keywords

Hi there

I have managed to track down

and am curious if there is a corresponding keyword list too? I tried searching to no avail, although GetFunctionKeywords() was interesting.

I am also curious if these lists (tag, function, keyword) are available with Lucee version metadata?

I am creating a user defined language (lucee.xml) for Notepad++.

I will put the UDL up on github once complete. What is the preferred mechanism for communicating resources like this?

Thanks!

1 Like

Hi Elementl, thanks for working on this!

There wasn’t a keyword list in the docs yet, so I’ve written one. It’s now on the docs site: CFML Keywords :: Lucee Documentation. It’s grouped by purpose: statements without arguments (return, break, continue, abort, exit, rethrow, retry), control flow, declarations and modifiers, new and ::, literals, word operators, and scopes. It also lists which tags can be written in script.

Most tags and functions are defined by data, so for those you can ask Lucee at runtime. getTagList() and getTagData() give you the tags, and getFunctionList() and getFunctionData() give you the functions. Please note that getFunctionKeywords() returns search keywords for functions, not reserved words, so it’s not what you want for highlighting.

On version information: the data from getFunctionData() and getTagData() can include an introduced version, but it’s only filled in for some entries, so there’s no complete “added in version X” list yet. The language keywords have no version data at all.

A few other helpers:

  • The Lucee MCP service (https://mcp.lucee-services.com/) can answer questions about tags and functions. See the MCP recipe in the docs.
  • astFromPath() and astFromString() return the parsed syntax tree of a CFML file or string, which can be handy for checking how the parser sees something.
  • From Lucee 8.0 on, we publish -config-schema.json and -env-vars.json next to the org.lucee:lucee artifact on Maven Central.

Once your Notepad++ UDL is ready, please share it in a new forum post with a link to the GitHub repo, so others can find it. I’m looking forward to seeing it!

1 Like

Thank you for that, much appreciated.

The getTagList and getFunctionList et al functions will be even better than the docs - excellent suggestion.

The MPC server can also be accessed via:

https://mcp.lucee.io/

Which host should we consider the official one?

Thanks Roberto. Please use https://mcp.lucee-services.com/. That’s the official host, and it’s the one the docs and our posts point to.

1 Like