Full Lucee Docs for VSCode cfmleditor

Lucee docs now automatically publishes out a cfdocs json schema of all tags and functions.

https://docs.lucee.org/lucee-docs-json.zip

https://luceeserver.atlassian.net/browse/LDEV-5520

Why is does this rock, because, if you are using the cfmleditor extension, It currently uses the cfdocs.org data which is incomplete and needs to be manually maintained , whereas this is automatically published by the lucee docs build and covers all Lucee tags and functions.

compared to

Simply download https://docs.lucee.org/lucee-docs-json.zip and unzip into a folder, then edit your vscode settings to point to that folder

"cfml.cfDocs.localPath": "d:\\work\\lucee-docs\\builds\\cfdocs\\en",   
"cfml.cfDocs.source": "local", 

Then your inline CFML help will be Lucee specific and include all tags and functions, including all the available arguments and attributes

It’s stuck in lower case until I solve one last issue

https://luceeserver.atlassian.net/browse/LDEV-5501

I’ve pinged @ghedwards about supporting this as an option directly within the extension.

14 Likes

I have also fixed the everything in lower case problem with Lucee docs, all the function names and arguments, plus tag attributes are now camelCased

This is good for cfmleditor, as it was auto completing everything in lower case due to this long standing bug

was

https://luceeserver.atlassian.net/browse/LDEV-5501

7 Likes

There is a problem now this link to docs.lucee.org from context help due to upper case in url

good catch!!

1 Like

Would there be a way to generate the JSON for different (older) versions of Lucee?

the json already includes all the versioning metadata you can see here, so it’s more a question of getting cfmleditor to display that info.

there’s also not really that many changes, @dbeck what version are you on?

1 Like

All the tag URLs point to functions and 404

- https://docs.lucee.org/reference/functions/abort.html
+ https://docs.lucee.org/reference/tags/abort.html

ahhh, good catch! I’ve fixed them

any chance of displaying the minimum version, it’s optional metadata for tags, functions, args and attributes?

i.e

this has all the new ones too

Yeah, I’m looking into adding the version information to the hover documentation (show minium version on inline help · Issue #72 · cfmleditor/cfmleditor · GitHub).

awesome, thanks for all you work on this!

1 Like

Tags are missing their cf prefix in the “name” and “syntax” fields.

- // abort.json
+ // cfabort.json
{
-	"name": "abort",
-	"syntax": "<abort/>",
+	"name": "cfabort",
+	"syntax": "<cfabort/>",
}

Where there are tags and functions with the same name, there appears to be a filename collision where only 1 is present. Adding the “cf” prefix should fix this.

These are all listed in both functions.json and tags.json, leading to missing files for one of them:

  • dump
  • insert
  • invoke
  • location
  • log
  • query
  • sleep
  • throw
  • trace
1 Like

Some tags have mixed casing not present in the online documentation.

// Examples
- "syntax": "<cfDump/>",
+ "syntax": "<cfdump/>",
- "syntax": "<cfhtmlBody/>",
+ "syntax": "<cfhtmlbody/>",
"syntax": "<cfabort/>", // not all tags are affected

This casing is preserved when using tab auto completion!

1 Like

Yeah I noticed that too.

I’ll force the tag names to lower case for the name attribute, syntax and also in the tags, functions and all json listings files.

Btw, I can include the member function names, not sure if the schema supports it