diff --git a/AUTHORS.txt b/AUTHORS.txt index 23a2efc04a..f20b549a42 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -292,3 +292,4 @@ Contributors: - Konrad Rudolph - Tom Wallace - Michael Newton +- Fredrik Ekre diff --git a/CHANGES.md b/CHANGES.md index 4e5e74afc8..cb442d27f5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,12 @@ +## Version 10.4.0 + +Language Improvements: + +- enh(julia) Update keyword lists for Julia 1.X [Fredrik Ekre][]. + +[Fredrik Ekre]: https://github.com/fredrikekre + + ## Version 10.3.1 Prior version let some look-behind regex sneak in, which does not work diff --git a/src/languages/julia.js b/src/languages/julia.js index 518284fcc6..fba665be36 100644 --- a/src/languages/julia.js +++ b/src/languages/julia.js @@ -17,72 +17,69 @@ export default function(hljs) { var KEYWORDS = { $pattern: VARIABLE_NAME_RE, - // # keyword generator, multi-word keywords handled manually below - // foreach(println, ["in", "isa", "where"]) - // for kw in Base.REPLCompletions.complete_keyword("") + + // # keyword generator, multi-word keywords handled manually below (Julia 1.5.2) + // foreach(x -> print(x, " "), ["in", "isa", "where"]) + // for kw in collect(x.keyword for x in REPLCompletions.complete_keyword("")) // if !(contains(kw, " ") || kw == "struct") - // println(kw) + // print(kw, " ") // end // end keyword: 'in isa where ' + 'baremodule begin break catch ccall const continue do else elseif end export false finally for function ' + - 'global if import importall let local macro module quote return true try using while ' + - // legacy, to be deprecated in the next release - 'type immutable abstract bitstype typealias ', - - // # literal generator - // println("true") - // println("false") - // for name in Base.REPLCompletions.completions("", 0)[1] + 'global if import let local macro module quote return true try using while ', + + // # literal generator (Julia 1.5.2) + // print("true", " ") + // print("false", " ") + // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core), + // REPLCompletions.completions("", 0)[1]) // try - // v = eval(Symbol(name)) + // v = eval(Symbol(compl.mod)) // if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon) - // println(name) + // print(compl.mod, " ") // end + // catch e // end // end literal: 'true false ' + - 'ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort ' + - 'NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway ' + - 'RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im ' + - 'nothing pi γ π φ ', + 'ARGS C_NULL DEPOT_PATH ENDIAN_BOM ENV Inf Inf16 Inf32 Inf64 InsertionSort LOAD_PATH MergeSort NaN NaN16 ' + + 'NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway RoundNearestTiesUp ' + + 'RoundToZero RoundUp VERSION devnull im missing nothing pi stderr stdin stdout undef π ℯ ', - // # built_in generator: - // for name in Base.REPLCompletions.completions("", 0)[1] + // # built_in generator (Julia 1.5.2) + // for compl in filter!(x -> isa(x, REPLCompletions.ModuleCompletion) && (x.parent === Base || x.parent === Core), + // REPLCompletions.completions("", 0)[1]) // try - // v = eval(Symbol(name)) - // if v isa Type || v isa TypeVar - // println(name) + // v = eval(Symbol(compl.mod)) + // if (v isa Type || v isa TypeVar) && (compl.mod != "=>") + // print(compl.mod, " ") // end + // catch e // end // end built_in: - 'ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet ' + - 'AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat ' + - 'AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal '+ - 'BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException ' + - 'CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager ' + - 'Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ' + - 'ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t ' + - 'Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict ' + - 'DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ' + - 'ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function ' + - 'Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear ' + - 'IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException ' + - 'InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix ' + - 'MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict ' + - 'OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe ' + - 'PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ' + - 'ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode ' + - 'RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed ' + - 'SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange ' + - 'StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal ' + - 'Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry ' + - 'TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError ' + - 'UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector ' + - 'VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool ' + 'AbstractArray AbstractChannel AbstractChar AbstractDict AbstractDisplay AbstractFloat AbstractIrrational ' + + 'AbstractMatrix AbstractRange AbstractSet AbstractString AbstractUnitRange AbstractVecOrMat AbstractVector ' + + 'Any ArgumentError Array Array AssertionError BigFloat BigInt BitArray BitMatrix BitSet BitVector Bool ' + + 'BoundsError CapturedException CartesianIndex CartesianIndices Cchar Cdouble Cfloat Channel Char Cint ' + + 'Cintmax_t Clong Clonglong Cmd Colon Complex ComplexF16 ComplexF32 ComplexF64 CompositeException Condition ' + + 'Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cvoid Cwchar_t ' + + 'Cwstring DataType DenseArray DenseMatrix DenseVecOrMat DenseVector Dict DimensionMismatch Dims DivideError ' + + 'DomainError EOFError Enum ErrorException Exception ExponentialBackOff Expr Float16 Float32 Float64 Function ' + + 'GlobalRef HTML IO IOBuffer IOContext IOStream IdDict IndexCartesian IndexLinear IndexStyle InexactError ' + + 'InitError Int Int128 Int16 Int32 Int64 Int8 Integer InterruptException InvalidStateException Irrational ' + + 'KeyError LinRange LineNumberNode LinearIndices LoadError MIME Matrix Method MethodError Missing ' + + 'MissingException Module NTuple NTuple NamedTuple Nothing Number OrdinalRange OutOfMemoryError OverflowError ' + + 'Pair PartialQuickSort PermutedDimsArray Pipe ProcessFailedException Ptr QuoteNode Rational RawFD ' + + 'ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RoundingMode SegmentationFault Set Signed Some ' + + 'StackOverflowError StepRange StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String ' + + 'StringIndexError SubArray SubString SubstitutionString Symbol SystemError Task TaskFailedException Text ' + + 'TextDisplay Timer Tuple Type TypeError TypeVar UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefInitializer ' + + 'UndefKeywordError UndefRefError UndefVarError Union UnionAll UnitRange Unsigned Val Vararg VecElement ' + 'VecOrMat Vector VersionNumber WeakKeyDict WeakRef ' }; // placeholder for recursive self-reference