todo Wolfram language symbol
- redo the xah Wolfram mode list of keywords.
- the problem is, find a way to list all symbols that are function, and non-function such as option names.
- also, update the function list for latest version.
- also, find a way to complete or color the Wolfram language named special chars
ValueQ[Table, Method -> Automatic] (* False *) ValueQ[Table, Method -> "SymbolDefinitionsPresent"] (* True *) ValueQ[Table, Method -> "OwnValuesPresent"] (* False *) ValueQ[Table, Method -> "Legacy"] (* False *) (* HHHH--------------------------------------------------- *) ValueQ[PlotPoints, Method -> Automatic] (* False *) ValueQ[PlotPoints, Method -> "SymbolDefinitionsPresent"] (* False *) ValueQ[PlotPoints, Method -> "OwnValuesPresent"] (* False *) ValueQ[PlotPoints, Method -> "Legacy"] (* False *) (* HHHH--------------------------------------------------- *) ValueQ[Pi, Method -> Automatic] (* False *) ValueQ[Pi, Method -> "SymbolDefinitionsPresent"] (* False *) ValueQ[Pi, Method -> "OwnValuesPresent"] (* False *) ValueQ[Pi, Method -> "Legacy"] (* False *) (* Automatic "SymbolDefinitionsPresent" → one or more symbols have any sort of definition present "TrialEvaluation" → test if the expression changes after evaluation "OwnValuesPresent" → one or more symbols have a non-empty OwnValues "Legacy" *) (* xah-wolfram-special-char *) xx = { }; Select[ xx, ((ValueQ[#, Method -> "SymbolDefinitionsPresent"] ) &) ] Select[Names["*"] , ((ValueQ[#, Method -> "SymbolDefinitionsPresent"]) &)] StringQ @ Names["*"][[400]] Names["*"][[400]] ValueQ[ Symbol[ "A298" ], Method -> "SymbolDefinitionsPresent"] ValueQ[ Symbol[ "A298" ], Method -> "OwnValuesPresent"] ValueQ[ Symbol[ "A298" ], Method -> "Legacy"] OwnValues[ Symbol[ "A298" ] ] symbolq ValueQ[ Symbol[ "A298" ]] Symbol[ ArrayPad ]
- work on
classifySymbol
- Xah Talk Show 2025-08-16 Ep693 Xah Wolfram Mode Demo, and Determine Symbol is Function or Option
Clear[classifySymbol] classifySymbol[xsym_Symbol] := Block[ {xdocstr = ToString[Information[ xsym ]], xname = SymbolName[xsym]}, If[ StringQ[xdocstr], If[ StringStartsQ[xdocstr, xname <> " is an option"], {xsym,"Option"}, If[ StringContainsQ[xdocstr, xname <> "["], {xsym,"Function"}, {xsym,"Other"}]], {xsym,"Undefined or no docstr"} ] ] Map[ Function[x, classifySymbol[Symbol[x]]] , Names["T*"]] Select[ Names["T*"], Function[x, Not @ ValueQ[Symbol[x]]] ] ValueQ @ Symbol["\[FormalA]" ] True Definition[Symbol["\[FormalA]" ]] Symbol["\[FormalA]" ] Definition::ssym: Symbol[\[FormalA]] is not a symbol. {"\[FormalA]", "\[FormalB]", "\[FormalC]", "\[FormalD]", \ "\[FormalE]", "\[FormalF]", "\[FormalG]", "\[FormalH]", "\[FormalI]", \ "\[FormalJ]"} Names["*"] ValueQ[Tab ] True ValueQ @ \[Alpha] False Select[ Names["Ta*"], Function[x, ValueQ[Symbol[x]]] ] {Tab, TabFilling, Table, TableAlignments, TableDepth, TableDirections, TableForm, TableHeadings, TableSpacing, TableView, TableViewBox, TableViewBoxAlignment, TableViewBoxBackground, TableViewBoxDividers, TableViewBoxHeaders, TableViewBoxItemSize, TableViewBoxItemStyle, TableViewBoxOptions, TabSpacings, TabView, TabViewBox, TabViewBoxOptions, TagBox, TagBoxNote, TagBoxOptions, TaggingRules, TagSet, TagSetDelayed, TagStyle, TagUnset, Take, TakeDrop, TakeLargest, TakeLargestBy, TakeList, TakeSmallest, TakeSmallestBy, TakeWhile, Tally, Tan, Tanh, TargetDevice, TargetFunctions, TargetStructure, TargetSystem, TargetUnits, TaskAbort, TaskExecute, TaskObject, TaskRemove, TaskResume, Tasks, TaskSuspend, TaskWait, TautologyQ} (* HHHH------------------------------ *) classifySymbol[Table] (* Function *) classifySymbol[Background] (* Option *)
Wolfram language symbol
WolframLanguageData["Properties"] { EntityProperty[WolframLanguageSymbol, Attributes], EntityProperty[WolframLanguageSymbol, CharacterCount], EntityProperty[WolframLanguageSymbol, CloudSupportNotes], EntityProperty[WolframLanguageSymbol, CloudSupportStatus] }
WolframLanguageData[] {Entity[WolframLanguageSymbol, $Aborted], Entity[WolframLanguageSymbol, $ActivationKey], Entity[WolframLanguageSymbol, $AllowDataUpdates], }