1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840
|
=========
Changelog
=========
.. default-role:: literal
-----------
v0.6 series
-----------
v0.6.13
-------
* Fix subpackages missing from python distribution
v0.6.12
-------
* Fix `--check` missing early return.
* Fix wrong base class for TupleParser
* Add `PATTERN` as allowed duplicate keyword
* Enable `cmake-lint: disable=` within a statement
* Add cmake lint checks on tab policy and indentation size
* Closes: `#31`_: Allow use of tabs instead of spaces
* Closes: `#197`_: [C0103] Invalid CACHE variable
* Closes: `#205`_: Multiple config files aren't merged...
* Closes: `#208`_: Duplicate PATTERN in install(...
* Closes: `#210`_: Usage: banning tabs and enforcing the spaces per tab
* Closes: `#216`_: --check mode dumps entire file since 0.6.11
* Closes: `#217`_: strange formatting for set_target_properties
.. _#31: https://github.com/cheshirekow/cmake_format/issues/31
.. _#197: https://github.com/cheshirekow/cmake_format/issues/197
.. _#205: https://github.com/cheshirekow/cmake_format/issues/205
.. _#208: https://github.com/cheshirekow/cmake_format/issues/208
.. _#210: https://github.com/cheshirekow/cmake_format/issues/210
.. _#216: https://github.com/cheshirekow/cmake_format/issues/216
.. _#217: https://github.com/cheshirekow/cmake_format/issues/217
v0.6.11
-------
* Fix tag handling in release pipeline
* Fix positional specification removed from global configuration on first
parse of legacy commands
* Add argcomplete to frontend commands enabling bash completion
* Parse template listfiles that contain `@atword@` tokens at the statement
level (e.g. `@PACKAGE_INIT@`).
* Simplify path specification for `always_wrap` to omit `BodyNode`, and
number `PargGroupNode[#]`.
* Fix spelling configuration option not plumbed through to the formatter
* Add a config option to disable formatting (e.g. in a subdirectory)
* Add documentation for cmake-lint disable
* Closes: `#109`_: Formatting of files containing @VARIABLE@ fails
* Closes: `#177`_: vscode extension: add support for variable substitution ...
* Closes: `#179`_: Official docker image
* Closes: `#180`_: ... regarding `always_wrap`
* Closes: `#191`_: Inconsistent formatting for ...
* Closes: `#202`_: Spelling not accounted for
* Closes: `#207`_: Add DisableFormat option
* Closes: `#211`_: Add documentation for "cmake-lint:disable"
.. _#109: https://github.com/cheshirekow/cmake_format/issues/109
.. _#177: https://github.com/cheshirekow/cmake_format/issues/177
.. _#179: https://github.com/cheshirekow/cmake_format/issues/179
.. _#180: https://github.com/cheshirekow/cmake_format/issues/180
.. _#191: https://github.com/cheshirekow/cmake_format/issues/191
.. _#202: https://github.com/cheshirekow/cmake_format/issues/202
.. _#207: https://github.com/cheshirekow/cmake_format/issues/207
.. _#211: https://github.com/cheshirekow/cmake_format/issues/211
* Closes: f0fcbce
v0.6.10
-------
* Fix some bugs in genparsers
* Fix some typos in environment handling in extension
* Fix cmake-lint can't --dump-config
* Fix default max statement spacing was 1 instead of 2
* Cleanup legacy command specifications
* Autogenerate command specifications for standard modules
* Don't mark lint for add_custom_target() missing COMMAND
* Add missing annotate resources to distribution package
* Don't break long words when reflowing comment text
* Print violated regex for C0103 lint
* Make line number consistently start from "1" between tokenzizer and checker
* Fix Scope.PARENT is same enum value as scope.INTERNAL
* Skip travis deploy stage on pull request
* Move commands.py into parse_funs/standard_funs.py
* replace duplicates of parse_db update from standard_funs
* get rid of root makefile
* document the release process
* refactor basic_checker module into a class where common function parameters
are now member state.
* analyze and document variable naming conventions
* add a pattern for function/macro argument names
* implement W0106 looks like a variable reference missing a brace
* fix name checks shouldn't be applied to variable references
* enable cmake-lint during build/CI
* Closes: `#170`_: Comment is wrong
* Closes: `#171`_: Crash when running `cmake-lint --dump-config`
* Closes: `#172`_: Possibly false positives for too many newlines
* Closes: `#173`_: find_package_handle_standard_args()
* Closes: `#176`_: cmake-lint: [C0113] is issued for COMMAND in add_custom_target()
* Closes: `#181`_: cmake-annotate is missing css file
* Closes: `#182`_: line break in url
* Closes: `#183`_: cmake-lint: add exact configuration item/value to output
* Closes: `#184`_: Trailing whitespace reported on wrong line
* Closes: `#185`_: cmake-lint: set with PARENT_SCOPE is not INTERNAL
* Closes: `#187`_: Fixed typos and bugs in vscode extension
* Closes: 358e95c, 376422c, 5258b1b, 97f7956, d85b7c7, e03ec57, f0fcbce,
.. _#170: https://github.com/cheshirekow/cmake_format/issues/170
.. _#171: https://github.com/cheshirekow/cmake_format/issues/171
.. _#172: https://github.com/cheshirekow/cmake_format/issues/172
.. _#173: https://github.com/cheshirekow/cmake_format/issues/173
.. _#176: https://github.com/cheshirekow/cmake_format/issues/176
.. _#181: https://github.com/cheshirekow/cmake_format/issues/181
.. _#182: https://github.com/cheshirekow/cmake_format/issues/182
.. _#183: https://github.com/cheshirekow/cmake_format/issues/183
.. _#184: https://github.com/cheshirekow/cmake_format/issues/184
.. _#185: https://github.com/cheshirekow/cmake_format/issues/185
.. _#187: https://github.com/cheshirekow/cmake_format/issues/187
v0.6.9
------
* fix RTD push on Travis if the pseudo-release is already up-to-date
* added pattern for at-words to the lexer and new token type
* fix custom parsers didn't set lint spec for PositionalGroupNode
* don't pedantically error out on empty JSON config file
* parser can comprehend comments belonging to higher than the current depth
in the semantic tree.
* cleanup README, move some stuff to documentation pointers
* generate the config options details page rather than hand writing it
* Closes: `#109`_: Formatting of files containing @VARIBLE@ fails
* Closes: `#122`_: parse_positionals consumes non-related comments after code
* Closes: `#168`_: cmake-lint crashes on `add_library` function
* Closes: 031922e, 5bcc447, c07a668, efba824, 7eb2cb6
.. _#109: https://github.com/cheshirekow/cmake_format/issues/109
.. _#122: https://github.com/cheshirekow/cmake_format/issues/122
.. _#168: https://github.com/cheshirekow/cmake_format/issues/168
v0.6.8
------
* Reduce packaging depependency version numbers
* Add build rules to generate variable and property pattern lists
* Implement lint checks on assignment/use of variables that are "close" to
builtins except for case.
* Move first_token from configuration object into format context
* Add line, col info to lex error message
* Fix wrong root parser for FetchContent_MakeAvailable
* Fix missing support for string integer npargs
* Fix missing spec for derived classes of PositionalGroupNode
* Fix on/off switch doesn't work inside a statement
* Fix extraneous whitespace inserted before line comment in some statements
* Add more helpful error message on failed configfile parse
* Move documentation build to build time and push documentation artifacts
to an artifact repository
* Closes `#162`_: cmake-lint crashes when evaluating `math`
* Closes `#163`_: cmake-lint crashes when using `VERBATIM` in
`add_custom_target`
* Closes `#164`_: Internal error FetchContent_MakeAvailable
* Closes: 000bf9a, 6e4ef70, 85a3985, 9a3afa6, c297b3d, cf4570e
.. _#162: https://github.com/cheshirekow/cmake_format/issues/162
.. _#163: https://github.com/cheshirekow/cmake_format/issues/163
.. _#164: https://github.com/cheshirekow/cmake_format/issues/164
v0.6.7
------
* Add missing dependency on six
* Update pylint, flake8 used in CI
* Remove spurious config warning for some unfiltered command line options
* Add tags field to positional argument groups. Assign "file-list" tag to
file lists from add_library and add_executable
* Remove "sortable" flag from root TreeNode class
* Custom commands can specify if a positional group is a command line
* Custom commands can specify multiple positional groups
* ``max_pargs_hwrap`` does not apply to ``cmdline`` groups
* Remove stale members from ``TreeNode``
* Format extension.ts with two spaces
* Create a tool to generate parsers from ``cmake_parse_args``
* Closes `#139`_: Disable wrap for custom functions
* Closes `#159`_: Missing dependency on six
* Closes: 6ef7d0d, 9669d02, cc60267, cf7ac49, cfa3c02, eefbde3, e75513a,
* Closes: f704714
.. _#139: https://github.com/cheshirekow/cmake_format/issues/139
.. _#159: https://github.com/cheshirekow/cmake_format/issues/159
v0.6.6
------
* Fix greedy match for bracket comments
* Implement some more readable error messages
* Add source support for sidecar tests
* Overhaul the configuration data structures, dividing configuration up
among different classes.
* Remove configuration fields from config object __init__
* Add dump-config options to exclude helptext or defaults
* Implement explicit trailing comments
* Implement "include" from config files
* Move logging init into main() functions
* Closes `#156`_: Linter exception when parsing certain multiline comments
* Closes: 19baaf5, 200a6ed, 3435d8a, 4e6ca84, 6397d42, 9fbebee, b7fb891,
f097478
.. _#156: https://github.com/cheshirekow/cmake_format/issues/156
v0.6.5
------
* Fix bullet formatting in README
* Capture some input exceptions and print a more friendly error message
* Fix partialmethod docstrings in command tests
* Add a more detailed configuration description and samples
* Get rid of "extra" dictionary hack to get valid reflow bit out of
``process_file`` in ``__main__.py``.
* Implement disabled lint codes config option
* Add preamble and summary to cmake-lint output
* Add test to ensure all cmake commands are in the database
* Implement all commands available in cmake 3.10.2
* Closes `#154`_: cmake-lint: Human readable errors
* Closes: 06918d6, 0b6db3a, 26582bc, 7039c5c, c8d18f1, ea5583e, eb4fb01,
* Closes: 5abae5c
.. _#154: https://github.com/cheshirekow/cmake_format/issues/154
v0.6.4
------
* Split ``parser.py`` module into ``parse/`` sub package.
* Implement derived classes of `TreeNode` for for many parsers
* Refactor parse functions into class members of the appropriate
`TreeNode` derived class
* Add lint checkers for:
C0103, C0113, C0202, C0305, E0103, E0104, E0108, E0109, E1120,
E1122, W0101
* Fix wrong token pattern for unquoted literal was including literal
tabs and newlines (not literal "t" and "n").
* Closes `#153`_: Spaces added to generator expressions
.. _#153: https://github.com/cheshirekow/cmake_format/issues/153
v0.6.3
------
* Add ``ctest-to`` program
* Add ``cmake-lint`` program
* Separate documentation by program
* Add some more detailed configuration documentation
* Make some of the config logic generic and push into a base class
* Some groundwork for cleaning up the config into different sections
* Fix externalproject_add_stepdependencies
* Closes `#152`_: AssertionError on externalproject_add_stepdependencies
.. _#152: https://github.com/cheshirekow/cmake_format/issues/152
v0.6.2
------
* some initial work on cmake helptext/usage parser
* fix set_target_properties
* fix TOUCH_NOCREATE
* copymode during --in-place
* add --check command
* supress spurious warnings in tests
* create add_custom_target parser
* update add_custom_command parser with different forms
* fix target form of install command
* implement require-valid-layout and add tests
* sidecar tests don't need a companion pyfile
* fix some typos in documentation
* Closes `#133`_: Better handling of un-wrappable, too-long lines
* Closes `#134`_: Wrong formatting of install(TARGETS)
* Closes `#140`_: add USES_TERMINAL to kwargs
* Closes `#142`_: Add a --check option that doesn't write the files
* Closes `#143`_: Broken file attributes after formatting
* Closes `#144`_: Wrong warning about "file(TOUCH_NOCREATE ...)"
* Closes `#145`_: Bad formatting for `set_target_properties`
* Closes `#147`_: foreach format
* Closes `#150`_: Contributing documentation
* Closes `#151`_: README.rst: fix two typos
.. _#133: https://github.com/cheshirekow/cmake_format/issues/133
.. _#134: https://github.com/cheshirekow/cmake_format/issues/134
.. _#140: https://github.com/cheshirekow/cmake_format/issues/140
.. _#142: https://github.com/cheshirekow/cmake_format/issues/142
.. _#143: https://github.com/cheshirekow/cmake_format/issues/143
.. _#144: https://github.com/cheshirekow/cmake_format/issues/144
.. _#145: https://github.com/cheshirekow/cmake_format/issues/145
.. _#147: https://github.com/cheshirekow/cmake_format/issues/147
.. _#150: https://github.com/cheshirekow/cmake_format/issues/150
.. _#151: https://github.com/cheshirekow/cmake_format/issues/151
v0.6.1
------
* consolidate ``--config-file`` command line flag variants
* add documentation on integration with ``pre-commit``
* add documentation on sidecar tests
* simplify the tag format for sidecar tests
* add support of config options and lex/parse/layout assertions in sidecar
tests
* add documentation on debugging with tests
* add tests to validate pull requests
* move most tests into sidecar files
v0.6.0
------
Significant refactor of the formatting logic.
* Move ``format_tests`` into ``command_tests.misc_tests``
* Prototype sidecar tests for easier readability/maintainability
* ArgGroupNodes gain representation in the layout tree
* Get rid of ``WrapAlgo``
* Eliminate vertical/nest as separate decisions. Nesting is just the wrap
decision for StatementNode and KwargNode wheras vertical is the wrap
decision for PargGroupnode and ArgGroupNode.
* Replace ``algorithm_order`` with ``_layout_passes``
* Get rid of ``default_accept_layout`` and move logic into a member function
* Move configuration and ``node_path`` into new ``StackContext``
* Stricter valid-child-set for most layout nodes
-----------
v0.5 series
-----------
v0.5.5
------
* Python config files now have ``__file__`` set in the global namespace
* Add parse support for ``BYPRODUCTS`` in ``add_custom_command``
* Modify vscode extension cwd to better support subtree configuration files
* Fix vscode extension args type configuration
* Support multiple config files
* Closes `#121`_: Support ``BYPRODUCTS``
* Closes `#123`_: Allow multiple config files
* Closes `#125`_: Swap ordering of cwd location in vscode extension
* Closes `#128`_: Include LICENSE.txt in sdist and wheel
* Closes `#129`_: cmakeFormat.args in settings.json yields Incorrect type
* Closes `#131`_: cmakeFormat.args is an array of items of type string
.. _#121: https://github.com/cheshirekow/cmake_format/issues/121
.. _#123: https://github.com/cheshirekow/cmake_format/issues/123
.. _#125: https://github.com/cheshirekow/cmake_format/issues/125
.. _#128: https://github.com/cheshirekow/cmake_format/issues/128
.. _#129: https://github.com/cheshirekow/cmake_format/issues/129
.. _#131: https://github.com/cheshirekow/cmake_format/issues/131
v0.5.4
------
* Don't write un-changed file content when doing in-place formatting
* Fix windows line-endings dropped during read
* Add documentation on how to add custom commands
* Fix yaml-loader returns None instead of empty dictionary for an empty yaml
config file.
* Closes `#114`_: Example of adding custom cmake functions/macros
* Closes `#117`_: Fix handling of --dump-config with empty existing yaml config
* Closes `#118`_: Avoid writing outfile unnecessarily
* Closes `#119`_: Fix missing newline argument
* Closes `#120`_: auto-line ending option not working correctly under Windows
.. _#114: https://github.com/cheshirekow/cmake_format/issues/114
.. _#117: https://github.com/cheshirekow/cmake_format/issues/117
.. _#118: https://github.com/cheshirekow/cmake_format/issues/118
.. _#119: https://github.com/cheshirekow/cmake_format/issues/119
.. _#120: https://github.com/cheshirekow/cmake_format/issues/120
v0.5.3
------
* add some configuration options for next format Refactor
* update documentation source generator scripts and run to get updated
dynamic doc texts
* add a couple more case studies
* split reflow methods into smaller methods per case
* fix os.expanduser on None
* Closes `#115`_: crash when no config file
.. _#115: https://github.com/cheshirekow/cmake_format/issues/115
v0.5.2
------
* add parsers for different forms of ``add_library()`` and ``add_executable()``
* move ``add_library``, ``add_executable()`` and ``install()`` parsers to their
own modules
* don't infer sortability in ``add_library`` or ``add_executable()`` if the
descriminator token might be a cmake variable hiding the descriminator
spelling
* Split configuration options into different groups during dump and --help
* Refactor long ``_reflow()`` implementations, splitting into methods for
the different wrap cases. This is in preparation for the next rev of the
format algorithm.
* Add documentation on the format algorithm and some case studies.
* Autosort defaults to ``False``
* Changed documentation theme to something based on rtd
* Get rid of ``COMMAND`` kwarg specialization
* Closes `#111`_: Formatting breaks ``add_library``
* Closes `#112`_: expanduser on configfile_path
.. _#111: https://github.com/cheshirekow/cmake_format/issues/111
.. _#112: https://github.com/cheshirekow/cmake_format/issues/112
v0.5.1
------
* Fix empty kwarg can yield a parg group node with only whitespace
children
* Fix ``file(READ ...)`` and ``file(STRINGS ...)`` parser kwargs using set
syntax instead of dict syntax
* Fix aggressive positional parser within conditional parser
* Fix missing endif, endwhile in parsemap
* Split parse functions out into separate modules for better organization
* Add more sanity tests for ``file(...)``.
* Remove README from online docs, replace with expanded documentation for
each README section
* Restore ability to accept paren-group in arbitrary parg-group
* Fix missing tests on travis
* Fix new tests using unicode literals (affects python2)
* Fix command parser after --
* Closes `#104`_: Extra space for export targets
* Closes `#106`_: Formatting of ``file(READ)`` fails
* Closes `#107`_: multiline cmake commands
* Closes `#108`_: Formatting of ``file(STRING)`` fails
* Closes `#110`_: Formatting of Nested Expressions Fails
.. _#104: https://github.com/cheshirekow/cmake_format/issues/104
.. _#106: https://github.com/cheshirekow/cmake_format/issues/106
.. _#107: https://github.com/cheshirekow/cmake_format/issues/107
.. _#108: https://github.com/cheshirekow/cmake_format/issues/108
.. _#110: https://github.com/cheshirekow/cmake_format/issues/110
v0.5.0
------
* Implement canonical command case
* Canonicalize capitalization of keys in cmdspec
* Add README documentation regarding fences and enable/disable
* Statement parsers are now generic functions. Old standard parser remains
for most statements, but some statements now have custom parsers.
* Implement deeper parse logic for ``install()`` and ``file()`` commands,
improving the formatting of these statements.
* Implement input/output encoding configuration parameters
* Implement hashruler markup logic and preserve hashrulers if markup is
disable or if configured to do so.
* Implement autosort and sortable tagging
* Separate cmake-annotate frontend
* Provider a ``Loader=`` to yaml ``load()``
* Fix python3 lint
* Fix bad lexing of make-style variables
* Fix multiple hash chars ``lstrip()ed`` from comments
* Closes `#62`_: Possible improvement on formatting "file"
* Closes `#75`_: configurable positioning of flags
* Closes `#87`_: Hash-rulers are stripped when markup disabled
* Closes `#91`_: Add missing keyword arguments to project command
* Closes `#95`_: added argument --encoding to allow for non-utf8
* Closes `#98`_: Fix kwargs/flag index for non-lowercase functions
* Closes `#100`_: Extra linebreak inserted when '$(' encountered
* Closes `#101`_: Provide a Loader to yaml.load
* Closes `#102`_: fences does not work as expected
.. _#62: https://github.com/cheshirekow/cmake_format/issues/62
.. _#75: https://github.com/cheshirekow/cmake_format/issues/75
.. _#87: https://github.com/cheshirekow/cmake_format/issues/87
.. _#91: https://github.com/cheshirekow/cmake_format/issues/91
.. _#95: https://github.com/cheshirekow/cmake_format/issues/95
.. _#98: https://github.com/cheshirekow/cmake_format/issues/98
.. _#100: https://github.com/cheshirekow/cmake_format/issues/100
.. _#101: https://github.com/cheshirekow/cmake_format/issues/101
.. _#102: https://github.com/cheshirekow/cmake_format/issues/102
-----------
v0.4 series
-----------
v0.4.5
------
* Fix testing instructions in README
* Fix dump-config instructions in README
* Remove numpy dependency
* Add travis CI configuration
* Fix some issues with lint under python3
* Closes `#40`_
* Closes `#76`_
* Closes `#77`_
* Closes `#80`_
* Fixes `#82`_: Keyword + long coment + long argument asserts
.. _#40: https://github.com/cheshirekow/cmake_format/issues/40
.. _#76: https://github.com/cheshirekow/cmake_format/issues/76
.. _#77: https://github.com/cheshirekow/cmake_format/issues/77
.. _#80: https://github.com/cheshirekow/cmake_format/issues/80
.. _#82: https://github.com/cheshirekow/cmake_format/issues/82
v0.4.4
------
* Fix bug where rulers wouldn't break bulleted lists in comment markup
* Add missing flags COMPONENT and CONFIGURATIONS to command spec
* add ``--dump markup`` to dump the markup parse tree for debugging comment
formatting behavior
* fix `invalid NoneType value` for `--literal-comment-pattern`
* shebang is preserved if present (without additional options)
* fix trailing comment of kwarg group consumes rparen
* add test to verify correct consumption of args matching outer kwargs
* add new quoted assignment pattern to lexer for cases like quoted compile
definitions
* add `--dump html-stub` and `--dump html-page` listfile renderers
* Fixes `#56`_: ignores boolean configuration values
* Closes `#66`_: Positional argument of keyword incorrectly matched as keyword
of containing command
* Resolves `#73`_: Control of macro/function renaming
* Fixes `#74`_: shebang in cmake scripts
* Fixes `#79`_: BOM (Byte-order-mark) crashes parser
* Closes `#81`_: Fix comment handling in kwarg group
* Fixes `#85`_: commands: find_package broken
* Fixes `#86`_: Breaking in Quotes
.. _#56: https://github.com/cheshirekow/cmake_format/issues/56
.. _#66: https://github.com/cheshirekow/cmake_format/issues/66
.. _#73: https://github.com/cheshirekow/cmake_format/issues/73
.. _#74: https://github.com/cheshirekow/cmake_format/issues/74
.. _#79: https://github.com/cheshirekow/cmake_format/issues/79
.. _#81: https://github.com/cheshirekow/cmake_format/issues/81
.. _#85: https://github.com/cheshirekow/cmake_format/issues/85
.. _#86: https://github.com/cheshirekow/cmake_format/issues/86
v0.4.3
------
* dump_config now dumps the active config, including loaded from file or
modified by command line
* use cmake macros for cleaner listfiles
* fix argparse defaults override config file settings for boolean args
Closed issues:
* Fixes `#70`_: ignores boolean configuration values
.. _#70: https://github.com/cheshirekow/cmake_format/issues/70
v0.4.2
------
* Add visual studio code extension
* Add algorithm order config option
* Add user specified fence regex config option
* Add user specified ruler regex config option
* Add config option to disable comment formatting altogether
* Fix get_config bug in ``__main__``
* Fix missing elseif command specification
* Fix missing elseif/else paren spacing when specified
* Add enable_markup config option
* Fix kwargstack early breaking in conditionals
* Add some notes for developers.
* Add warning if formatter is inactive at the end of a print
* Add config options to preserve first comment or any matching a regex
Closed issues:
* Fixes `#34`_: if conditions with many elements
* Closes `#35`_: break_before_args
* Implements `#42`_: user specified string for fencing
* Implements `#43`_: allow custom string for rulers
* Fixes `#45`_: config file not loaded properly
* Fixes `#51`_: competing herustics for 2+ argument statements
* Implements `#60`_: option to not reflow initial comment block
* Implements `#61`_: add non-builtin commands
* Fixes `#63`_: elseif like if
* Implements `#65`_: warn if off doesn't have corresponding on
* Closes `#67`_: global option to not format comments
* Fixes `#68`_: seperate-ctrl-name-with-space
.. _#34: https://github.com/cheshirekow/cmake_format/issues/34
.. _#35: https://github.com/cheshirekow/cmake_format/issues/35
.. _#42: https://github.com/cheshirekow/cmake_format/issues/42
.. _#43: https://github.com/cheshirekow/cmake_format/issues/43
.. _#45: https://github.com/cheshirekow/cmake_format/issues/45
.. _#51: https://github.com/cheshirekow/cmake_format/issues/51
.. _#60: https://github.com/cheshirekow/cmake_format/issues/60
.. _#61: https://github.com/cheshirekow/cmake_format/issues/61
.. _#63: https://github.com/cheshirekow/cmake_format/issues/63
.. _#65: https://github.com/cheshirekow/cmake_format/issues/65
.. _#67: https://github.com/cheshirekow/cmake_format/issues/67
.. _#68: https://github.com/cheshirekow/cmake_format/issues/68
v0.4.1
------
* Add missing numpy dependency to setup.py
* Fix arg comments dont force vpack
* Fix arg comments dont force dangle parenthesis
* Add some missing function specifications
Closed issues:
* Fixes `#53`_: add numpy as required
* Closes `#54`_: more cmake commands
* Fixes `#55`_: function with interior comment
* Fixes `#56`_: function with trailing comment
* Fixes `#59`_: improve export
.. _#53: https://github.com/cheshirekow/cmake_format/issues/53
.. _#54: https://github.com/cheshirekow/cmake_format/issues/54
.. _#55: https://github.com/cheshirekow/cmake_format/issues/55
.. _#56: https://github.com/cheshirekow/cmake_format/issues/56
.. _#59: https://github.com/cheshirekow/cmake_format/issues/59
v0.4.0
------
* Overhaul parser into a cleaner single-pass implementation that generates a
more complete representation of the syntax tree.
* Parser now recognizes arbitrary nested command specifications. Keyword
argument groups are formatted like statements.
* Complete rewrite of formatter (see docs for design)
* Support line comments inside statements and argument groups
* Add some additional command specifications
* Add ``--dump [lex|parse|layout]`` debug commands
* ``--dump-config`` dumps the active configuration (after loading)
* Add keyword case correction
* Improve layout of complicated boolean expressions
Closed issues:
* Implements `#10`_: treat COMPONENT keyword different
* Implements `#37`_: --dump-config dumps current config
* Implements `#39`_: always wrap for certain functions
* Fixes `#46`_: leading comment in function body
* Fixes `#47`_: function argument incorrectly appended
* Implements `#48`_: improve install ``target_*``
* Fixes `#49`_: removes entire while() sections
* Fixes `#50`_: indented comments appended to preceding line
.. _#10: https://github.com/cheshirekow/cmake_format/issues/10
.. _#34: https://github.com/cheshirekow/cmake_format/issues/34
.. _#37: https://github.com/cheshirekow/cmake_format/issues/37
.. _#39: https://github.com/cheshirekow/cmake_format/issues/39
.. _#46: https://github.com/cheshirekow/cmake_format/issues/46
.. _#47: https://github.com/cheshirekow/cmake_format/issues/47
.. _#48: https://github.com/cheshirekow/cmake_format/issues/48
.. _#49: https://github.com/cheshirekow/cmake_format/issues/49
.. _#50: https://github.com/cheshirekow/cmake_format/issues/50
-----------
v0.3 series
-----------
v0.3.6
------
* Implement "auto" line ending option `#27`
* Implement command casing `#29`
* Implement stdin as an input file `#30`
Closed issues:
.. _#27: https://github.com/cheshirekow/cmake_format/issues/27
.. _#29: https://github.com/cheshirekow/cmake_format/issues/29
.. _#30: https://github.com/cheshirekow/cmake_format/issues/30
v0.3.5
------
* Fix `#28`_: lexing pattern for quoted strings with
escaped quotes
* Add lex tests for quoted strings with escaped quotes
* Fix windows format test
Closed issues:
.. _#28: https://github.com/cheshirekow/cmake_format/issues/28
v0.3.4
------
* Don't use tempfile.NamedTemporaryFile because it has different (and,
honestly, buggy behavior) comparied to codecs.open() or io.open()
* Use io.open() instead of codecs.open(). I'm not sure why to prefer one over
the other but since io.open is more or less required for printing to stdout
I'll use io.open for everything
* Lexer consumes windows line endings as line endings
* Add inplace invocation test
* Add line ending configuration parameter
* Add configuration parameter command line documentation
* Add documentation to python config file dump output
* Strip trailing whitespace and normalize line endings in bracket comments
v0.3.3
------
* Convert all string literals in format.py to unicode literals
* Added python3 tests
* Attempt to deal with python2/python3 string differences by using codecs
and io modules where appropriate. I probably got this wrong somewhere.
* Fix missing comma in config file matching
Closed issues:
* Implement `#13`_: option to dangle parenthesis
* Fix `#17`_: trailing comment stripped from commands
with no arguments
* Fix `#21`_: corruption upon trailing whitespace
* Fix `#23`_: wrapping long arguments has some weird
extra newline or missing indentation space.
* Fix `#25`_: cannot invoke cmake-format with python3
.. _#13: https://github.com/cheshirekow/cmake_format/issues/13
.. _#16: https://github.com/cheshirekow/cmake_format/issues/16
.. _#17: https://github.com/cheshirekow/cmake_format/issues/17
.. _#21: https://github.com/cheshirekow/cmake_format/issues/21
.. _#23: https://github.com/cheshirekow/cmake_format/issues/23
.. _#25: https://github.com/cheshirekow/cmake_format/issues/25
v0.3.2
------
* Move configuration to it's own module
* Add lexer/parser support for bracket arguments and bracket comments
* Make stable_wrap work for any ``prefix`` / ``subsequent_prefix``.
* Preserve scope-level bracket comments verbatim
* Add markup module with parse/format support for rudimentary markup in
comments including nested bulleted and enumerated lists, and fenced blocks.
* Add pyyaml as an extra dependency in pip configuration
Closed issues:
* Fix `#16`_: argparse defaults always override config
v0.3.1
------
* use exec instead of execfile for python3 compatibility
v0.3.0
------
* fix `#2`_ : parser matching builtin logical expression
names should not be case sensitive
* fix `#3`_ : default code used to read
``long_description`` can't decode utf8
* implement `#7`_ : add configuration option to separate
control statement or function name from parenthesis
* implement `#9`_ : allow configuration options specified
from command line
* Add support for python as the configfile format
* Add ``--dump-config`` option
* Add support for "separator" lines in comments. Any line consisting of only
five or more non-alphanum characters will be preserved verbatim.
* Improve python3 support by using ``print_function``
Closed issues:
.. _#2: https://github.com/cheshirekow/cmake_format/issues/2
.. _#3: https://github.com/cheshirekow/cmake_format/issues/3
.. _#7: https://github.com/cheshirekow/cmake_format/issues/7
.. _#9: https://github.com/cheshirekow/cmake_format/issues/9
-----------
v0.2 series
-----------
v0.2.1
------
* fix bug in reflow if text goes to exactly the end of the line
* add python module documentation to sphinx autodoc
* make formatting of COMMANDs a bit more compact
v0.2.0
------
* add unit tests using python unit test framework
* accept configuration as yaml or json
* Implemented custom cmake AST parser, getting rid of dependency on cmlp
* Removed static global command configuration
* If no configuration file specified, search for a file based on the input
file path.
* Moved code out of ``__main__.py`` and into modules
* More documentation and general cleanup
* Add ``setup.py``
* Tested on a production codebase with 350+ listfiles and a manual scan of
changes looked good, and the build seems to be healthy.
|