elpasync pushed a change to branch elpa/julia-mode. at a1ba9a0 add logo, README tweaks, add section on testing (#163)
This branch includes the following new commits: new e758c85 initial empty commit new cf447a3 Add gitignore and LICENSE new 5c4c793 renaming vector type to buffer, to avoid confusion straw-man generic function code implementing very basic evaluator and repl adding more of the needed syntax to parser adding simple emacs mode hastily adapted from julia 1 put (require 'julia-mode "/path/to/julia-mode.el") in your .emacs file new ed87b22 implementing for loops, break, and continue fixing a small issue in the pattern matcher new d678dc6 this is the promised round of type system changes it is now possible to construct types at run time new 099ca3b clarifying some types; using Size and Index where appropriate making buffers invariant, fixes to allow buffers of both boxed and unboxed types adding basic List type and functions. so far only List[Any] is supported. fixing bug in varargs with 0 arguments fixing bug in julia-mode on else/elseif fixing bug parsing empty blocks new f288f0d giving functions proper function types instead of just opaque tags renaming Boolean type to Bool new 0a0b373 adding some conversion machinery, refactoring generic functions I realized the Bottom type is unnecessary; Union[] does the same thing removing a couple unnecessary special forms new 274e4c5 adding convert() and conversion syntax new adaaa34 fixing parser bug when a file ends with comments allowing type parameters to appear un-quoted in the body of a type definition, as in a function definition adding sign() function beginning complex number type new 0e556ea a bit of file reorganization renaming Float to Single, and making Float an abstract supertype for all floating-point types new 3525c74 implementing typed locations: field, buffer elt, declared local var inserting conversions when assigning to typed locations for now, var::T constrains the var to always have type T, like in C ::T on other expressions is treated as a type assertion adding Number abstract type removing splice-blocks pass because goto-form does it implicitly new 116a9f9 disabling automatic conversion adding linked List type, and Expr type adding simple macro system adding more integer operators, demonstrating use of macros some fixes to printing a fix to value-or-null in closure conversion new 1f9a1a7 redesign of type system and its syntax: - new and convert are now kept inside their types - distinct type kinds - type parameters are first-class TypeVars, and type constructors are distinct from types - user-defined abstract types - no more ` - dummy TypeVars are filled in automatically if a type constructor is used in a declaration also a fix to the REPL new 4f8a1ce Rename: Single => Float32, single => float32. new de2a2a3 Rename: Double => Float64, double => float64. new ecc3f0c parsing chains of * or + into single calls making juxtaposition work as multiplication. juxtaposition happens in "A B" if A is a numeric literal or B is not a special token (e.g. an operator, parentheses, bracket, etc.) renaming block(...) to do(...) fixing small bug in (conform- ) new 16969b1 removing special syntax of quote() some whitespace fixes new 8603d3b making array dims an ntuple fixing some bugs in last commit new 52efd2a small tweaks to viral's script and its build process new 9795a7c Mailmap file to normalize commit names and emails. new 232e758 starting some basic pretty-printing of Exprs new 89e42a4 Minor updates to julia-mode for Ptr and eval. new 4c34abc preserving the exactness of integer ranges in length(Range) eval is not a reserved word manually hoisting convert(T,constant) out of loops; we will not have this optimization for a long time new 4c713e1 adding some thoughts on lightweight threads new fc44ae6 more work on type inference; adding isbound() convert for Bool, removing non-numeric definitions of bool() adding Complex(real), simplifying ^ don't indent based on keywords used as field names (e.g. e.type) new 06ff69e type does not use block syntax, fix emacs mode new 0bd625b misc. stuff: "do" is no longer a reserved word; fix julia-mode adding >>>= randmatstat should use randn doing a garbage collection after startup phase new 9ff2472 git seems to have changed the way .mailmap works. new 5d4e2ca Fix mailmap. Sane now. Everyone should modify it so that it displays the preferred email address. new e7ebf35 adding let syntax: let x=2; y=3 # 2 vars ...body... end new efce160 adding bitstype syntax allowing supertype expression to reference the type being defined e.g. Complex <: Number{Complex} new 29c7950 adding boot.j, allowing us to move more primitive definitions to julia new 02d443b fixing type inference for builtin cases of convert() renaming Bottom to None adding a specialization for promoting 3 values, to help colon supporting end for tuples by adding size(tuple,1) new 27e392f converting alloc.c for new GC adding prefixes to exported GC funcs improving julia-mode's handling of character literals new 0df0732 making Scalar disjoint from Tensor adding Uint<:Int fixing hash so all NaNs are the same (in line with isequal) new ef8a44c replacing ` with : for symbol and expression quoting adding quote..end syntax for quoting blocks lots of little changes everywhere! new 389a942 adding macros. to define a macro: macro foo(arg) ... end new cea8e08 moving dlsym, dlopen, and load out of builtins bootstrap by allowing ccall(:func, ...), defaulting to JuliaDLHandle new 181c919 adding a full interface to select and FD sets normalizing some method names, adjoin=>add, contains=>has new 1642a6e keyword change: renaming type to abstract and struct to type new 946222c Trying multiplication of darrays new 6ae7fab improvements to julia-mode indenting: . skip keywords inside comments . skip quoted keywords . fix stack overflow in last-open-block; elisp not tail recursive . pick same indent as previous line if unsure pfor macro new c01429b fixing some integer sizes new 50b958c Add a new mailmap entry for Jeff. new 3ae6315 improving indenting of block syntax inside parens some cleanup improving some error messages less use of jl_show_to_string new 27ecdc5 fixing julia-mode; I used (do ...) and apparently not all emacs installs have it new 8b30aff adding support for comment-related commands to emacs mode new 833dae5 Update mailmap. new dbe56c0 Work on sparse binary operators new f75719d Update the .mailmap file. new a6f55cb .mailmap: someone is a scooby fan. new ed56114 Add .mailmap entry for George. Welcome! new e81afbf Add Stephan to .mailmap. Welcome, also! new 69439e2 Fix Stephan's last name in .mailmap. new e10a730 FFT of real vectors as well Replace "lapackfn_" with :lapackfn_ in blas/lapack macros This does not work for cases like @foo :x :y. Those cases are not changed. new 42a61fc Add Giuseppe to the .mailmap file. new 2f7441b AbstractArray, AbstractVector, AbstractMatrix highlighting in julia-mode.el new 9553095 New entry in .mailmap for Jeff. new 38ad5c0 Mailmap entry for Stephan. new ef7f0a0 fixing issue #163, indenting with "end" used in indexing new 1312fa7 removing Tensor from list of syntax highlighted types adding eltype(Array) adding task_exit() that terminates the current work thread improving a parse error new d145e83 Add StridedMatrix etc. to julia-mode new e29c02f making julia indent amount customizeable as follows: new 0cd3b88 issparse(AbstractArray) should not be false, since AbstractArrays could be sparse. Color SparseMatrixCSC in syntax new cb0a2a3 sparse ref() using matmul new 412cbc8 Add Jameson to .mailmap and otherwise organize and update it. new a4dfa7f Mailmap update. new da04582 update mailmap new 8b560d4 part of issue #301 new a04be67 of course, all my tree compressing broke file/line metadata. fix, and make the info easier to access too. add syntax coloring for "Integer" new d239cdf fixing #319. the vast majority of ' and " uses will be highlighted correctly. the problem we gain instead is that \ is an escape character even outside quotes, so `\"` will fail to start a string. But this character sequence is easy to avoid, since on the slim chance you need to divide a string, you can just add a space. new 8af8e30 improving regex in last commit new 7815e27 Update .mailmap. new 91b2800 Color ccall and C_NULL in emacs mode new b82208b use font-lock-constant-face for symbolic constants also for unquote expressions, closing #164 new 1dca28b adding "for i in x" syntax new f3c1a65 highlight Inf[32],NaN[32] as constants in emacs mode new 560a531 Update mailmap new 6cf00ca Fix the .mailmap fix; add another alias for Jeff; standard sorting. new 9c6d2b8 emacs: allow any combination of spaces and newlines after "in" in for loop new 413f476 Update mailmap new 37f4f34 Update mailmap new 5c12fc2 Raise issue and possible fix re emacs indentation. new 69f50e9 fix #622 new 0e6ed0c Update mailmap new 3513e2a Update mailmap. new b35dd82 more | -> for conversion emacs mode: only recognize .jl as julia source new 2ee8be9 fix #828 thank you, backward-sexp new 419dfd9 fix to "in" syntax highlighting small change to isperm new 0d4a8f6 fix #852 apparently "block" isn't in some emacsen new 2843dad fix #874 new 2316ad7 implement "do" block syntax. closes #441 new 0db269d fixing missing elisp evenp on some systems new 7f70ddb fix to julia-mode for indenting argument lists new 856e45d long-needed update to type names in julia-mode new 7daea0a Update mailmap new e225b48 Update mailmap new e51b039 fixing a bug in emacs mode with block start at beginning of buffer new fda4b69 .mailmap updates new 91f2a15 Update mailmap new db9a18c .mailmap: some additions to dedup contributors in gitlog new bfa6d83 major update to modules: new b58ccd0 Begin work on sparse unary operators. Introduce AbstractSparseMatrix. new 3b5f6b0 make "using Base" implicit, and add baremodule. closes #1522 new 0f07dca add "finally", and other exception improvements new 099b687 organize Core exports list new ebfc698 Mailmap update new 43cfc91 Update mailmap new 2eab982 Update mailmap new 4be7bab fix #2336, julia-in-comment in emacs mode new a4b62e7 misc changes for immutable types, updating comments, adding keyword new 7064885 update mailmap new 3fe9882 Add emacs mode usage new 4f56f2b contrib: update instructions for julia-mode.el new 44cd797 Update mailmap new 3913d39 Add BigInt and BigFloat to julia-mode.el new 267cebf Autoload julia-mode. new 137455a Update mailmap new cde82a9 Add Float16 to julia-mode.el new 88aab43 Merge in changes from ESS' version of julia-mode.el new bb4f203 Revert "Merge in changes from ESS' version of julia-mode.el", to avoid dependency on emacs 24 (issue #4010). new 72d2e0f Add support for Float16 to various array constructors new 75dc105 Merge ESS changes to julia-mode.el with backwards compatibility. new c74045a emacs mode: change underscores back to word characters new c6b59d0 use spaces for indenting in julia mode again new 873639b emacs mode: make @ a word character again new c924bd0 update SGJ mailmap entries new 81e46b1 Update cjh in .mailmap new 7c0cfff base StridedArray on the abstract DenseArray. closes #2345 new b829e08 Added DataType to the list of highlighted type words in julia-mode.el. new 109747e eliminate StoredArray (fix #6212, #987); UniformScaling is no longer an AbstractArray (#5810) new 5762e13 remove * and div for Char new 9dd8281 Add support for multiline comments new cc5e1fe tab-substitution of LaTeX symbols in Emacs julia-mode (for #6340, based on #6911) new 314a731 more sensible sorting of substitutions; only search backwards as in REPL, and allow a wider range of chars (for things like #6927) new 90ef8a2 julia-mode LaTeX symbol-table update new 7065601 julia-mode symbol-table update from #7018 new d2bd57d Update mailmap new 070bd0c Adding proper header and footer (use M-x checkdoc to confirm). new 3cb85b4 Fixing some byte-compilation warnings. new 2395931 Since julia-mode.el contains utf-8 chars, mark the file as utf-8. new db05511 Adding autoload cookie for associating .jl files with julia-mode. new 03325fc Highlight function names and type names. new c718e8c Use regexp-opt for keyword and constant regexps, because it outputs regexps that are more efficient. new d6a298b Removing unused constant. new 84d9a19 Fix emacs highlighting of symbols that contain keywords. new 3caccea `in` is a keyword, so highlight it. new 5144c31 Highlight types in all type annotations. new c47ccdc Highlight parent types in type declarations. new 6105b93 Header improvements to conform to MELPA's standards. new 8442201 All julia functions and variables should be prefixed. new fc04731 Highlight parameter types and subtypes. new 1b6b38c Don't highlight that that happens to contain a constant. new d76f89a Preserve point position when indenting. new 646f758 Don't skip over end keywords. new 15051b5 updated julia-mode.el for recent latex-symbol additions (#7961 and #7962) new 47ad8e4 add 1607 new LaTeX tab completions from the unicode-math package (closes #7657) new 45e1650 Correcting type regex. new 70d6482 `throw` and `error` are built-in functions that we should highlight. new 7eb9038 Highlight the function name, not the module name, in declarations. new b6b52a4 tweaks to emacs syntax highlighting new fdaa84d emacs requires \Unnnnn unicode escapes to be padded to 8 hex digits new 38b74a9 emacs-mode fix for emacs 22: need to check whether codepoints outside the BMP are supported by emacs new 6c7d21e julia-mode.el: syntax entry for '/' and '.' new 7304a4a rename None to Union(), and Nothing to Void. fixes #8423 new e4f0b02 Ensure ! in a macro invocation is highlighted correctly. new ba5ba4c Highlight function names when defined with the assignment syntax. new 662e153 Update .mailmap new 0b96ff5 Revert "Update .mailmap" new d74b8a3 Use the syntax table to detect if point is in a comment. new caab4dc Respect the active region when indenting. new 03ce66f Improving comments to clarify how indentation works. new ac7431c Mark @ and ! as a symbol constituents, as suggested by @Clemens-H. new ac55340 Factoring out a types regex. new 11e3904 Backporting regexp-opt functionality to Emacs 23. new 747176f fix latex symbol \bot new ac22747 remove trailing ws from repo new faee243 Implementing julia-in-string and julia-in-char. new d96a08c Refactoring julia-char-regex as an rx form. new 36aa038 Fix julia-in-brackets so it isn't confused by strings, characters or comments. new c3d3e3a Don't call parse-partial-sexp to find the last opening paren. new 76d5d75 Optimising julia-at-keyword. new d7a7607 Make julia-last-open-block-pos a pure function that only returns the position. new 40c5e82 Fix indentation when we're indenting a line that has an open paren after point. new 3597e9a Comment improvements. new 9cdad57 Make julia-char-regex stricter. new 5e52d81 Don't error if the first line of the file is empty. new 307b42b If the previous line has a trailing =, that should take precedence over blocks. new 6603c79 rename Uint -> UInt in contrib files for syntax highlighting new e5f8145 Use a separate face for Julia macro invocations. new 493fb7f note #8947 in julia-mode.el new ab58fb7 Update mailmap new 96d6597 Fixing highlighting of long character escape sequences. new ca2fe4b Removing julia-in-char. new ea54e19 Fontify strings and chars as strings, not keywords. new 80c6754 Silencing byte-compiler warning. new f3f2ad1 Highlight triple quoted strings. new e4d0e09 Highlight quoted symbols, e.g. :foo. new fabafad julia-mode.el: improve matching of function assignment syntax new 65cfc0d julia-mode.el: add a bunch of builtin types new ff5fc36 julia-mode.el: allow space or no space after :: and <: new 05f002c When indenting code, limit how far back we search. new 70bbe82 Adding unit tests for indentation. new 4b22a79 julia-mode.el: remove types that are removed or deprecated new 569d41a julia-mode.el: stagedfunction, @[no]inline, indented functions, "=:symbol" new 4b41b85 julia-mode.el: `f(x) == something` does not define a function new f378cbc Mailmap update. new 96499ff Silence Emacs byte-compilation warnings. new f3b490b Added inferior-julia comint mode new 5ee867e Changed inferior-julia function in contrib/julia-mode.el to apply make-comint-in-buffer instead of calling function directly new 0c6673a Changed input method for Julia Emacs buffer to TeX new 2e72a0b Removed (setq comint-proccess-echoes t) from contrib/julia-mode.el new a37d541 Changed input from TeX mode to use Julia unicode input new 64d86a4 Added customization options new c982fd6 Changed name of Emacs buffer to *Julia* new 716d58c Added autoload cookie to inferior-julia function in contrib/julia-mode.el new c7e3232 some tuple redesign follow-ups new f84a425 Clean up stagedfunction new 6781ef1 Fix #11673, bad indent after comments ending in = new ff8adf5 Add tests for #11684. [ci skip] new 8ab2a60 julia-paren-indent skips blanks after paren new 8dd023d julia-paren-indent: docstring, test new 6f075d7 Use syntax-propertize-function on Emacs 24. new dd3d682 Fix Emacs 23 error. new 7c1603c Use more common name for indentation setting new c8dfbe2 Declare indentation as customizable new e7c8550 Bind indent offset to its standard value for tests new 4afb7be Update mailmap. new b1e02f1 rename: FloatingPoint => AbstractFloat new 892beb1 Fix #12528 new 0583ee3 String was renamed to AbstractString, replace everywhere new 8d6ea60 Fix #11549 (top level after paren-indented line) new 1f06e85 Alias `run-julia` to `inferior-julia` in julia-mode.el new c2f0ed8 julia-mode: Fix prompt regexp new 9cbde7b julia-mode: Move tests to new file and improve new 011435c julia-mode: Fix indent for hanging ops and module new 1746c4b julia-mode: Improve paren indent perf new a82e629 julia-mode: Indent manually inside strings with \n new 0df9ca4 julia-mode: Indentation performance improvements new 44c9959 julia-mode: Fix #15461 new 0526f2f Fix spelling of 'delimiter' new 0e3217f Enable travis on emacs23, emacs24, emacs-snapshot. new e4b3428 Remove test branch in travis, add README new 8818ede fix ignoring of keywords inside comments new 4f72dfa Merge pull request #13 from JuliaLang/keywords_in_comments new 2486d1e Replace {UTF8,ASCII,Byte}String with String new 2d860b1 Merge pull request #18 from JuliaLang/yyc/str-cleanup new 847908e Add indent for import and export. new d3366f4 Added using, fixed bugs, added tests. new b99710c `python-mode`-like paren-indent new a95b06b Merge pull request #20 from tpapp/indent-export new 7b1d3fb Merge pull request #21 from kshramt/python-paren-indent new 6add61b fix indenting after commented `end` new 362be60 Merge pull request #26 from JeffBezanson/master new 2b15d76 bol new 483805b Merge pull request #29 from nverno/master new 4f56ded make lookback distance customizable new feb6e79 Merge pull request #31 from RalphAS/custom-lookback new 1f254f8 Fix indentation for anonymous functions. new 5812bc3 Added tests for parentheses following keywords. new 1332b74 update for changed type keywords in 0.6 new 7802452 Merge pull request #35 from tpapp/fix-10 new 9c36479 Merge pull request #36 from JuliaEditorSupport/jb/typekeywords new c9d8ca6 Fix backslash character class. new e22219f Added another test. new cb6d4bd Fix badge URL new 9067194 Merge pull request #38 from Wilfred/patch-1 new 04b97c4 Merge pull request #37 from tpapp/fix-backslash new 69bc337 add support for `where` keyword new c4a75b4 update short function syntax w.r.t. spaces new 46d2469 Merge pull request #39 from rfourquet/rf/where new af5eb63 short function syntax: support return type declaration new b66f8a4 Insertion of math symbols in julia using auctex's mechanism new f591c6d Merge pull request #41 from rfourquet/rf/where-return new edaaff2 Bin op chars (#44) new 115d4dc Regenerate latex auto completion (#45) new 2ef6992 Fixed import export etc indentation at start of buffer. (#47) new b24410f Allow user to set multiple arguments to inferior julia new 0f064b7 Enable color in inferior julia new 9f990bb Handle string escapes new 47d2fb0 Merge pull request #51 from non-Jedi/arg-list new 344e6c2 Merge pull request #42 from antoine-levitt/math-insert new deda1e2 Add test new ec01995 Merge pull request #54 from jamii/patch-1 new 10b0eff beginning/end of defun functions new 0d9a793 Move LaTeX substitutions to a separate file, clean up generating script. new 6a0f756 Merge pull request #67 from tpapp/tp/latexsubs new dc21978 Merge pull request #63 from nverno/movement-functions new e27e6d2 fix compilation error, silence byte-compiler warnings in emacs>23 new 9edff28 Merge pull request #68 from nverno/fix-compilation new 9d08954 Update keywords and builtin types to Julia 1.0 new 68181e6 Replace IntSet by BitSet new 117b791 Replace `Associative` by `AbstractDict` (thanks to @tpapp) new 8449c95 Merge pull request #69 from emmt/master new 3adce47 highlight ∈ in `for var ∈ …` ( fix #71 ) new 999569b Update substitutions to include emoji new 1eacdc6 Create FUNDING.yml new db84928 Merge pull request #74 from non-Jedi/emoji new c20a4e5 generate new LaTeX substitutions using 1.3-pre. new ad6a494 Merge pull request #78 from tpapp/tp/update-latexsubs new b194039 Merge pull request #72 from FelipeLema/unicode-for-in new cb41ae0 Add unit tests for LaTeX substitution. new 7102542 fix tests new addd3d4 Merge pull request #81 from JuliaEditorSupport/tp/add-substitution-tests new 6408b96 Transition to cl-lib, drop support for Emacs 23. new 9df3a7e fix variable renaming new 1b8682b fix travis setup new 686bed3 remove unused lexical args that gave a warning new 10ce821 Add MELPA badge, clarify installation. new 864e124 remove newline new 61e22f6 Merge pull request #90 from tpapp/tp/add-melpa-badge new 4f024cb make loading "julia-latexsubs" work when using `eval-buffer` (#83) new 088fb0b Load latexsub table as a feature new a174d0e Fix indentation of generated elisp new d21b83d Merge pull request #93 from non-Jedi/julia-mode-latexsubs_feature new 66ef2db Merge branch 'master' into tp/drop-emacs-23 new 97325c4 Merge pull request #87 from tpapp/tp/drop-emacs-23 new df2ab77 test on Emacs25, simplify setup code (#95) new 4515765 add a changelog (#96) new 6b7e956 Fix for derived parent mode (#66) new 023df24 add latest PR to changelog new 5238f9a Increase lookback. (#98) new d91f1d0 Remove regexp-opt workarounds for Emacs < 24 (#101) new 8bfc709 bump version for release new b800403 Font lock tweaks (#102) new 6e9e60b Fix forloop matching on == instead of = (#105) new 1c122f1 Fix multiple type face highlighting. Add tests. (#110) new c9d8230 Give \ punctuation syntax outside of strings (#113) new 7de3b0c Remove highlighting for :: and <:. (#112) new bfa54b2 Minor point about preferring the rx macro for regexs. new 88d7d87 Merge pull request #121 from JuliaEditorSupport/tp/prefer-rx new 0eec10a Do not consider `:end` as block ending new 9dcabbc Simplify the logic to find the end of last block new c45c786 Add more tests new 839726a Merge pull request #123 from ronisbr/master new 140369e Simplify char-regex new 796ddfd Apply proper syntax to triple-quoted cmds new 505d71b Add all problemmatic strings from issue #15 to tests new a31868d font-lock ccall as a builtin new 549a7b4 Remove C_NULL from constants and add Cvoid new d69b095 Removed require statement for auctex that broke prettify. Fixes #99 (#116) new a4eeb6c Merge pull request #134 from non-Jedi/font-lock-builtin-face new 13a3c53 Merge branch 'master' into triple-quote-cmd new b295e36 Merge pull request #133 from non-Jedi/triple-quote-cmd new b5f5983 Indent lines after hanging operator even if previous line contains # (#115) new 8ea90c7 Rec/quoted quote (#143) new fe6f6f7 Allow block indentation inside of parentheticals (#152) new 5d693ab Fix CI using actions. (#160) new 5cccdbd Fixed installation documentation (#147) new dc17943 Indent imports from submodule correctly (#154) new a1ba9a0 add logo, README tweaks, add section on testing (#163)