monnier pushed a change to branch externals/phps-mode. at f5c2072 Updated copyright for inclusion in ELPA
This branch includes the following new commits: new 3837d9c My initial commit new 7d0cd36 Updated goals new 3ea8c64 Added license new dd8d800 Using coloring overlay for comments as well new 79040dc Some cleaning up new ce656a5 More general cleaning up new 31ca9d5 More cleaning up new c64b3b4 More work on lexer tests new 41c4fbb Lexer unit tests now working new a724438 Handled lexing with empty single and double quote string new f3205d5 Fixed lexing of basic tokens new 5a6a96b Added another test new 795053b Lexer unit tests using start and ends as well new 64a3ca8 Modified start and end for single and double quoted strings new b3a6308 Added hook for resetting lexer variables new c4a8ca5 Free lexer tokens does not have properties anymore new 394f7ae Fixed issue with empty strings before non-empty strings new 2475734 Improved logic for single quoted strings new de771b5 Added more unit tests new be078dc Updated readme new abcfd01 Started with function to gather current point data new 8ed0716 Started with unit tests for getting point lexer data new bf59f0a More unit tests for getting point lex information new 7fa9fdb More unit tests for lexing comments and doc comments new 3202213 Added another unit test for lexer new e3a060a Handles script breaking single-line comments new f6e3ce4 Added another test for comments new 95e749e Started with indentation function new d839f8a More work on indentation support new 4fa9341 Started with unit tests for indentation new 1b891ea More work on indentation and related tests new 9d3f644 Separated indentation tests for lexer tests new 5c0568b Added some basic unit tests for indentation new 184dfa5 Indentation outside PHP now does nothing new efcefde Added support for closing parenthesis and braces new 47440dd Added test for decreasing indentation with letters new 6776468 Started worked with adding references to tokens from point meta information new c6e5255 Merge branch 'master' of https://github.com/cjohansson/emacs-phps-mode new feb5724 Various debug work new b437374 Fixed bug in parsing of object parameters inside double quoted string new 7161184 Handles stacked states better new c625217 Added flag for PSR-2 white-space settings new 4b4a375 Using lexical bindings for all files new be46d9c Added lexer autoload to functions new e36d477 token-number from point now is the same format as (nth) new c040358 Point lexer token information makes more sense new a259292 Changed indentation function to work solely on tokens new 94492c4 Added changes tracking to functions from lexer new 4098f46 Started with incremental lexer new b629c4b Updated comments and TODOs new da1d1de Temporary lexer after change until other work is ready new 09daec3 Foundation for incremental lexer and syntax colorer completed new e1b7160 (newline-and-indent) now working new 990d3dd Added test for indentation of multiple-line doc comment new dd80d27 Started work on detecting doc comment blocks new 3f4c344 Fixed detection of doc comment blocks new 67f9a7a Moved lexer-get-point-data to functions new 0ca9fe8 Detection of point inside doc comment block improved new 8aa1ab6 Another test for getting point data inside doc block new 3824abf Resolved indent with trailing parenthesis new bf633d2 Added test for indent of final line of doc comment block new a61cb8b Fixed issue with doc comment indentation new ba8165a Fixed bug with brace count not including braces inside double quoted strings new 90d059c Fixed bug in incremental lexer logic new 6c597fb Updated readme new 86ec35f Incremental lexer working somewhat new 99dfc68 Incremental-lexer deletes affected overlays new 1be9270 Updated README new 27cd705 Updated readme new 58300fd More updates of readme new 236f05e Updated makefile to not use hard-coded path to emacs new f4cd90e Updated readme and makefile for running all tests new c57fb5b Improved indentation of trailing opening brace new ec71e15 Fixed bug where token-numbers are not defined new e57f1e1 Skipping indentation if it's already correct new 5e30a65 Added TODO items new 287d934 Updated comments are made un-tested function for moving token positions new 94d4814 Added test for moving lexer tokens new a59ef7b More unit tests for moving lexer token positions new b3821a1 Updated TODOs new f79cf4f Started on function for moving lexer states new e340279 Added unit tests for moving lexer-state positions new e30ac0c Started implementation of moving lexer and state position when indenting to save time new 89b12ab Added autoloads and fixed bug with assigning variable new a10cc79 Debugging a indentation case new 59ba835 Fixed issue with wrong indentation at trailing opening brace new 8c919ac Added failing indentation test new f2f41a3 Handles indentation case with } else if (...) { new 434c3dc Added more failing tests new 69ced0d Added another unit test for failed indentation new 61abf7e Added todo item new f7f931a Added another failing indentation test new c5beb50 Added another unit test for indentation with special syntax new 89fac0b Added another unit test for bracket less conditional new 3740660 Get point-data now collects information about square brackets new a8561ab Updated unit test for get-point-data with support for square brackets new a5beef1 Added support for square bracket indentation new 989cc7e Fixed flycheck warning about semantic new dbc02bb Improved syntax table new 6c8eea0 Added another failing indentation case for switch case new 2c9746b Added switch case unit test for lexer new a899707 Updated comments new 47ad456 Fixed syntax table for white-spaces new 6ac718c Removed non-breaking space from syntax table new 7dca537 Started work on renaming files new cd1fdee *** empty log message *** new 7c6ee3e More work on renaming new efa297a More work on renaming new 529042e More work on renaming new 3272991 Merge branch 'master' of https://github.com/cjohansson/emacs-phps-mode new 7688cd7 Got incremental lexer working after renaming again new 41ef691 Fixed lint warning of unused variables new 7279913 Improved TODOs new 80da137 Preparations for adding alternative and inline syntax new e206605 Adding failing unit tests for inline and alternative syntax new 46a8256 Starting implementation of tracking alternative control structure level new 9c4a3ba More work on alternative control structures new c6aa633 More work on keeping track of alternative control structures new 12c22ee More work on alternative and inline meta information new 9ac21f1 More work on inline and alternative control structures new baab77a Unit tests for inline control structures working new 60c7431 Unit tests for gather data about inline and alternative control structure syntax passes new e11a1fc Fine-tuning of logic collecting data about inline and alternative control structures new 897f249 Work on alternative and inline indentation new 780d065 Code styling updates new 7e2e902 Fixed a unit test new be35ed6 Added sample files for inline and alternative control structures new 3f08b86 Updated tracking of alternative control structures new d380cd4 Updated readme new a8eadfa Improved sample files inline and alternative control structures new c68c7a0 Fixed issue were first-token-on-line was nil new c4ee0c3 Added more failing tests new 9792f70 Cleaning up code gather point meta information new a61ff64 Renamed function get-point-data to get-current-line-data for better semantics new 314dba1 Improved articulation of what information get-current-line-data should return new 1472273 Begun working on new approach to indentation calculation new f0523b7 More work on new function to calculate indentation new 3776841 Added new support for tracking doc-comment, HEREDOC and NOWDOC indentation new 52c502c Improved logic for doc-comment tracking new cc947a9 Added more tests for new indentation function new d3e00f2 Starting on new function for indentation new 96588b5 More work on new indentation calculation functions new f0dc652 More work on new indentation function new 16d8056 Foundation for new indentation tests completed new 0b3ced4 First test for new indentation function passes new 9996ae0 More work on indentation calculation new 4a27c44 Added support for naming unit tests to better find failures new ce2d4bd New indentation calculation function passes alternative new 105fece New indent calculation for inline syntax passes test new e37c1cf New indention calculation works with doc-comments new dfb0427 Added unit test for round and square bracket expressions new e249124 Prevent negative indent new b99da6b Starting using new indentation calculation for indentations new b2eac4d More work on switch case default new 6b5a5c3 More work on calculating indentations new 3718931 Basic tests for indentation calculation passes new 9d6af11 More work on indentations new a5ced61 New indentation function passes all original unit tests new 13e9148 Indentation unit test for assignment is passing new b852f5f All tests for indentation passes new 0a32b17 Improved calculation for indentation for multi-line assignments new b5c64c1 Added failing tests for HEREDOC and NOWDOC assignments new 7b8cea3 Added failing indentation test for class multiple implements new 13c4c78 More work on heredoc new 2720be8 Indentation calculation for heredoc and nowdoc assignments passes new 6559760 Work on assignments and class declaration indentations new e3eedd7 Assignment indentation passes tests, class declaration remains new c5d8ec6 Indentation calculation for class implement working new f1236e2 Unit tests for indentation calculation for multi-line strings passes new 253839f Added indentation unit tests for concatenated strings outside assignments new 79e61f4 Fixed indentation with assignment lines on only one line new f789468 Took notes of new indentation tests new f283e4b Added new failing unit tests for multiple-lines IF and single line class declaration new 9659ab4 Added failing test for doc-comments are namespace and class new d18fddc Fixed bug with indentation for indented doc-comments new 38bcabb Improved detection of assignment ends in function optional arguments new a30c3f6 More work on indentation tests new c71a97d Started on refactored indentation calculation new 47ffc37 More work on refactored indentation calculation new 59474ea Improved debugging messages new 20e77aa Removed debug output new 321803a Line indents are now cleaning on buffer changes new d9a0119 Optimized indentation code by removing unused variables new f93765d Improved code structure of indentation were nesting start and end equals new 9db28d9 Added verbose flag for unit tests new a0cbcd1 More work on indentation of multi-line IF-expressions new 2c3239a Adding new failing tests for indentation new 8b4c188 Now able to detect indent change of scope with same nesting level new 8a76039 Started implementing nesting-stack new d7c5f67 More work on nesting-stack new b6cf3a4 Started on new algorithm for indentation calculation based on stack new e8658c8 New indentation algorithm now passes class unit tests, started on indentation document new ec69d07 Added a failing class declaration indentation case new 00c0ab9 Nesting-stack algorithm handles class declaration indents new 874701d Work on alternative and inline control structure syntax with new algorithm new 2a1ed52 Optimized algorithm for indentation new e38794b0 More conceptual work on algorithm for inline control structures new 202827b New indentation algorithm now supports inline control structures new ba9d8a0 More organization of tests new 7a538ac Tests for alternative control structures passes new faa4e00 Started on conceptually describing algorithm for multi-line assignment indentation new 8947e6e Conceptual work on indentation-calculation for multi-line assignment new 2d4646f Work on inline control structure indentation new e8a8d41 Merged remote changes new 164b77e Unit test for alternative control syntax passes with new algorithm new 2af8abd Made TODO notes in algorithm new 86404c8 New algorithm now passes tests for alternative control structure new 208a788 Re-organized indent tests new c678fc1 New algorithm handles HEREDOC indentation new cf7dc07 Preparations for multi-line quoted indentation tests new 9031c3a Merge branch 'master' of https://github.com/cjohansson/emacs-phps-mode new fc2e8b7 Added logic to indent token-less lines as well new 67233ef Fixed indent algorithm for multi-line strings new 75c4af4 Fixed indentation for lines wrapped in scripting open/close new 7a4b98e More work on algorithm description new 43bf350 Added tests for token-less lines new 91715f6 Added another test for multi-line function arguments new b2a5700 Fixed indentation for multi-line optional function arguments new f7e7c74 Work on indentation for switch-case new 811c499 New algorithm now works for switch, case syntax new d754163 More work on multi-line token-less lines new 36a4b64 Added lost test for token-less lines again new b2338cd All tests for indentation passes new 0286660 Indentation passes new tests for concatenated strings new 73784d0 Cleaned up tests for indentation new 6105e5d Added a new failing test for indetation new 1bc5713 New tests for concatenation passes new d2e5a03 Updated indentation algorithm document and README new 5f445cd Fixed indentation for while expressions new f05d40a Tests for lexer passes again after close_tag modification new da1cfd5 Adding failing lexer test new 55953de Lexer now doesn't find keywords in function names new b56a15c Removed debugging output, updated todo items new f791cee Started on unit tests for imenu-index generation new 0de10fa Passes first test for imenu new eb0ee5e Updated README with imenu-support new 8707777 Updated README new 1aa0f90 Typo in README new f7186a1 Preparations for hierarchical imenu new c2af31e Imenu support now shows hierarchical information new e6a8944 Started work on a lexer bug with expressions inside double quoted strings new 70f2d46 Fixed lexer issue with multiple expressions inside double-quoted string new 0c49d6d Removed debugging output new 67b8701 Decreased length of imenu items to prevent truncation new 95ac15a Imenu index now handles class extends and implements new 9201d1c Imenu index now handles functions with optional arguments new b8e9449 Refactored Imenu to use a persistent variable per buffer new e78d8ed Clean-up of indentation code new 8bb3918 Clean-up of unit test logging new c2db7d3 Preparations for integration test new 41c12c1 Updated paths for byte-compilation new 0e927e8 Fixed compilation command in makefile new 5bb45ce Added lexer test for properties inside heredoc new 310521b Started with first integration-test new c7ad55c Passed first integration-test new 11309b8 Updated readme new 6593242 Preparations for doing indentation and imenu in one pass new fcc920f More preparations for merging indent and Imenu into one function new 318001e Merged Imenu and indentation generation into one iteration of tokens new caafeba Changed idle interval for incremental lexer new 6cb1d5a Added T_INLINE_HTML lexer token new b86dd54 Indentation now supports new lexer token T_INLINE HTML new aa0c23d Updated font-locks for token color syntax new 552eada Tuning of incremental logic new 40bffbc Added syntax coloring for [ )( , new 9deb882 Added syntax coloring for ? ! < > : new 9748853 Merged all lexer analysis into one to better match re2c lexer new 1e3537c Re-factored lexer to be more similar to re2c new d6caab9 Added support for coalesce_equal token and made lexer structure more similar to re2c new 44a997e Added syntax coloring for "." tokens new c9f0254 Fixed some minor flycheck complains in lexer new a49ce7d Added TODO item for lexer to better match re2c new bfeaa74 Started with changing lexer syntax to be more alike re2c new 95de04b New layout for lexer grammar passes unit tests new 2c8f28c Added docstrings to variables new d51a2c4 Lexer grammar used same logic as PHP language scanner new bd08a00 Added unit test for COALESCING EQUAL token new 969a4d1 Fixed syntax for coalesce assignment operator new d39152b Added unit test for NUM_STRING token inside double-quoted string new 68ef657 Removed debugging output from unit tests new 52cfc78 Added failing indent test new 2087abd Added two failing tests for switch indentation new b2ff76e Started on debugging switch indentation bug new cc77604 Fixed bug with indentation after switch case statements new 1aadb1b Added failing lexer test for comment vs doc-comment new 66edaca Improved lexing of comment version doc comment new 46147f4 Fixed bug with undefined token-end-line-number in new buffers new ed36115 Added TODO item for indentation new ec3fd41 Added failing indent test for mixed concatenation and function call new 00d3568 Added indentation examples from official PSR-2 new 5be3560 Adding more indent examples from PSR-2 new b31f817 Added all examples from PSR-2 as tests for indentation new 81c7179 Fixed indentation bug with assignment of square array in function argument new 74ab2a7 Work on incremental lexer and failing test for indent new 43c13b4 Started on new algorithm for concatenation indentation new 55f61b0 New algorithm for concatenation indentation passes tests new 73b8b4d More work on concatenation and assignment indent new 419a812 More work on debugging indentation with assignment new e639ea3 Indent passing new concatenation tests new 9069d0a Concatenation indentation now uses stack new 68422f5 Restored indentation test for PSR-2 closure new f2fe751 More work on trying to get PSR-2 indentation working new 7e755e1 Fixed indentation for argument assignments new 02b69f5 Tests for PSR-2 now passes with new algorithms new 7c3a31a Fixed bug in indentation with stacked assignment closures new 2ec6f6d Fixed some compilation warnings new 20199b0 Added byte-compiled Lisp to gitignore new f77edf8 Updated compile command to ignore that files that doesn't compile new b1d2820 Fixed issue with indentation of square bracket arrays in assignments new f3766db Fixed byte-compilation in lexer and integration-tests new 8eb3dc0 Fixed byte-compilation issue in lexer new 6d834c1 Added support for (comment-region) and (uncomment-region) new 5d5ec06 Started on test for automatic quotations new b251a1e Got unit tests for wrapping region in symbols working new eeffdb2 Fixed trailing white-space new a0b7695 Passes unit tests for integration with electric-pair new 3bc2411 Moved syntax-table tests to own file, using local electric-pair-mode in PHPs buffers new 2427c7e Improved README new ad94b0b Removed some fixed TODO itemsc new a852669 Fix bug in syntax colouring, added debug outputs for incremental lexer new e9475f7 Merge branch 'master' of https://github.com/cjohansson/emacs-phps-mode new ced201d Updated syntax colouring for namespace, class, function and constant names new 7e22fdb Added failing incremental indentation test new 365d739 Changed structure of integration tests new 8298a6a Colorized strings after namespace separator new a309998 Integration tests passes with new function new d27af61 Fixed bug with incremental lexer were states are missing new 8109c1a (uncomment-region) working new 32f9808 indent and imenu now triggers incremental lexer if buffer changed new ad53b6c Fixed warning when expected integer was nil new a30e5ff Run incremental lexer when processing file if buffer change new 3e1ff06 Added integration-tests for syntax colouring and update goals new 55b3087 Optimized lexer calling, do not call when using (indent-line) new c37b234 Added failing test for indent in concatenated string inside function arguments new c2b8a16 Passes new test for concatenated string inside function arguments new b4e416a (comment-region) tests working with custom function new c8c5b62 Made custom functions for (comment-region) and (uncomment-region) new 9e62157 (comment-region) and (uncomment-region) now handles part of lines as well as full lines new a45b39a Added two failing indentation tests for concatenated equal assignment and double arrow multi-line array declaration new 091ab21 Passes new unit test for indentation of concatenated equal and multiplication equal assignments new d8ad25b Passes new test indentation of multi-line double-arrow inside assignment new c118f58 Added TODO items new 2807902 Added syntax coloring for %, = new a8fbe7d Improved syntax coloring of =, % and more new dabe0ea Added failing indentation test for multi-dimension array in assignment with double arrows new e7cb803 Added another indentation test new e681c9c Updated color syntax for T_STRING tokens new 62f1fc5 Added another failing indentation test for return expressions new 071acc0 Added support for multi-line return indentation new 2801604 Added TODO item new c80aa68 Added a new failing test for indentation of else expression inside switch new 1bac28a Updated readme with decreased percent for indent new 812dc49 Removed TODO item new 834275b Fixed indentation calculation of nested alternative control structures new 83d5de8 Removed uneccesary debug output in unit test new 64e1789 Fixed indentation were assignments end at next line new 282115f Using incremental line-number calculation as optimization new d6e6cbc Another optimization of line-number-at-pos inside loop new abd78a0 Work on incremental newline logic new c11bcc5 More work on newline advice new 38bd348 More work on advice new 22f75ba Advice is running again in unit test new 92e53e8 Passes test for pressing newline before white-spaces just moves meta-data new 3d3003f Started on test for newline-and-indent before white-space new bc1f50f Fixed byte-compilation in functions unit-test new 6308e3e Removed debug notice new 2efd7d7 Started on function to move line-indent index new 5bc592a More work on moving indent indexes new fe80a3a Passes test for moving line-indents down new bd90dc9 Removed debug output new d416443 Added more test for moving line-indent index new 09a2123 Passes all tests for moving line-indent index new 46d0575 Passes all tests for adding newline and indenting without affect lexer new 71858d1 Removed side-effect of END_PARSE token being added to tokens after processing buffer new a4b2f37 Added new TODO item new 07ed24d Added states test as well new 654ef5f Added another state test for newline new f2ff34a Added TODO items for making changes inside tokens and not triggered a full re-lexing new b7b778b Updated Travis CI build script new 228b657 Updated README with license logo and Travis CI build status new ba7a3dc Updated TODO list with travis integration completed new 11e151a Fixed linting issues in flycheck file new 7deefdc Fixed use-package config example in README new 895105d Updated emacs version requirement and travis build new 4592bce Only running newline heuristic when rest of line is whitespace new a48386a Do not allow failures on emacs snapshot new d05601b Updated documents new 2d2aaad Added failing unit test new dbd2825 Added unit test for multiple level namespaces and added support for it new fa47a17 Changed imenu index to a hierarchical structure new 192f9ae Fix issues with test list structure new ff474c9 Work on invalid imenu new defa128 Passes unit test for imenu new structure new 3f20bd2 Updated tests and structure of hierarchical imenu new 5f52f54 Fixed compilation warning after new imenu structure new 21f883e Updated README and copyright date new 65f79c8 Added map shortcuts for comment / uncomment region new f0912ee Removed TODO and changed syntax color to be based on tokens only new a14d5b2 Mode map is now loaded new 1d58896 Minimal mode map is now loaded new 808f679 Moved TODO to separate doc and improved syntax coloring new 47793f7 Updated README new 07d9176 Improved flycheck support new 3c959d3 Improved README new f5c2072 Updated copyright for inclusion in ELPA