Open shigma opened 6 years ago
base
, precision
, accuracy
and exponent
.
11`
(*^^ constant.numeric *)
(* ^ constant.numeric.precision *)
11.`11
(*^^^ constant.numeric *)
(* ^^^ constant.numeric.precision *)
.11``
(*^^^ constant.numeric *)
(* ^^ constant.numeric.accuracy *)
11.11``
(*^^^^^ constant.numeric *)
(* ^^ constant.numeric.accuracy *)
11^^1a
(*^^^^ constant.numeric.base *)
(* ^^ constant.numeric *)
11.11*^-11
(*^^^^^ constant.numeric.wolfram *)
(* ^^^^^ constant.numeric.exponent *)
Optimize parameter pattern, support scope names with blank
, head
and default
(which has not been supported in the past).
_.
(*^^ variable.parameter.default *)
var_head
(*^^^^^^^^ meta.parameter *)
(*^^^ variable.parameter *)
(* ^ variable.parameter.blank *)
(* ^^^^ variable.parameter.head *)
var__head : foo
(* ^ meta.pattern keyword.operator.Optional *)
var___head ? EvenQ
(* ^ meta.pattern keyword.operator.PatternTest *)
var: patt ? EvenQ : foo
(*^^^ variable.parameter *)
(* ^ keyword.operator.Pattern *)
(* ^^^^^^^^^^^^ meta.pattern *)
(* ^^^^ variable.other*)
(* ^ keyword.operator.PatternTest *)
(* ^^^^^ variable.function *)
(* ^ keyword.operator.Optional *)
(* ^^^ variable.other *)
DynamicModule
into scoping_functions
.pattern-short
into variables
for better semantics.Re 7 I would keep &
an operator.. There's some good features in this PR, but a lot to go through all at once. Smaller PRs might make it easier to get things merged since we can't approve it until all changes are OK. I see good work on supporting :
as Optional, I haven't had a chance to check this out and try it yet but does it work for recognizing foo : (_Integer | _String)
as pattern? I'll try to look at this more carefully in the next couple weeks.
I did install it to start looking at things actually... first issue:
If[rowStart > 1,
rowList = Replace[rowList, x_Integer :> x - rowStart + 1, {1}];
];
Another issue:
Module[{data, fileMode, dims, enc, dataStrm, ignoreEmptyLines, summary},
(* Load LibraryLink functions *)
If[!loadAdapter[],
Return@CreateSVToolsException["AdapterNotLoaded"];
];
enc = ValidateOption[True, SVGetDimensions, CharacterEncoding, Alternatives @@ Join[System`$CharacterEncodings, {None, Automatic, "UTF8ISOLatin1"}], opts];
ignoreEmptyLines = ValidateOption[True, SVGetDimensions, "IgnoreEmptyLines", True | False, opts];
td = ValidateOption[True, SVGetDimensions, "TextDelimiters", t_String /; 0 <= StringLength[t] <= 1, opts];
summary = ValidateOption[True, SVGetDimensions, "Summary", _?BooleanQ, opts];
]
Re 7 I would keep
&
an operator.. There's some good features in this PR, but a lot to go through all at once. Smaller PRs might make it easier to get things merged since we can't approve it until all changes are OK. I see good work on supporting:
as Optional, I haven't had a chance to check this out and try it yet but does it work for recognizingfoo : (_Integer | _String)
as pattern? I'll try to look at this more carefully in the next couple weeks.
I tested the :
as pattern and it works
This is causing MAJOR performance detriments on my machine. I couldn't even open a file with 10k+ lines of code, but when I switched to the plugin on master it loaded instantly.
Some of the changes are proposals and others are features.
declarations
intoexpressions
for supporting following condition:built_in_options
withvariable.parameter
. I know this is not that accurate, but much better thanvariable.function
. Any ideas for this scope are welcomed.&
withvariable.function
instead ofkeyword.operator
. I think this would be more appropriate.These functions are currently listed as variables. With further development of branch
new-build-system
, we can easily generate them within lines of code.