So I mentioned this in a comment but I'll get it out here for the bounty poster too. Searching for the "JLink"JLink`"
"` in the autocomplete directory gave me this:
FileNameJoin@{$InstallationDirectory, "SystemFiles", "Components", "AutoCompletionData", "Main", "documentedContexts.m"}
If we look at what's inside it:
FileNameJoin@{$InstallationDirectory, "SystemFiles", "Components",
"AutoCompletionData", "Main", "documentedContexts.m"} //
Import // NewlineateInput
{
"System`",
"ANOVA`",
"BlackBodyRadiation`",
"Compatibility`",
"ComputerArithmetic`",
"DatabaseLink`",
"EquationTrekker`",
"FiniteFields`",
"JLink`",
"NETLink`",
"CUDALink`",
"OpenCLLink`",
"TetGenLink`",
"RLink`",
"CCodeGenerator`",
"SymbolicC`",
"NonlinearRegression`",
"PhysicalConstants`",
"PolyhedronOperations`",
"Quaternions`",
"ResonanceAbsorptionLines`",
"StandardAtmosphere`",
"VariationalMethods`",
"LibraryLink`",
"CCompilerDriver`",
"Audio`",
"FunctionApproximations`",
"GUIKit`",
"HierarchicalClustering`",
"HypothesisTesting`",
"MultivariateStatistics`",
"Music`",
"Notation`",
"NumericalDifferentialEquationAnalysis`",
"StatisticalPlots`"
}
I'll add something:
FileNameJoin@{$InstallationDirectory, "SystemFiles", "Components",
"AutoCompletionData", "Main", "documentedContexts.m"} //
Import // Last
"ChemTools`"
and we can see the i appears on reload:
Haven't figured out how to set this at the paclet level though, or even in $UserBaseDirectory
.
Note that this is for 11
For 10 it seems the file is
FileNameJoin@{$InstallationDirectory, "SystemFiles", "FrontEnd",
"SystemResources", "FunctionalFrequency", "documentedContexts.m"}
Another cool file seems to be obsoleteFunctions.m which turns out to be a list of names to not autocomplete, even though they're in the language. I added Print
, restarted, and got this:
Note that Print
is no longer completed by the FE.
There is also internalFunctions.m which has a similar effect. That contains things like DeclareKnownSymbols
, and AutoStyleOptions
which don't get autocompleted either, but I suppose are there because they're still used in the language.
Then there are the developerFunctions.m which are clearly contexts that don't get filled out by autocomplete (think NotebookTools`FlattenCellGroups
-- NotebookTools`
is in there).