Compare commits

...
157 Commits
Author SHA1 Message Date
saalen b6342ef6a3 updated docs 2024-08-09 16:06:27 +02:00
saalen b83740a620 updated version 2024-08-09 16:06:16 +02:00
saalen b714d5e4e4 combined GHC and GSC style options 2024-08-09 15:44:07 +02:00
saalen c4365b0cb3 https://sourceforge.net/p/astyle/tickets/578/ improve combination of --align-pointer=type and --pad-oper 2024-08-09 13:42:38 +02:00
saalen 6eb1268718 https://sourceforge.net/p/astyle/tickets/572/ improve multiplication recognition with --align-pointer=type 2024-08-06 15:31:53 +02:00
saalen 200d373cb7 update compiler options in build files 2024-08-02 13:56:08 +02:00
André Simon f05cf51b77 Merge branch 'gcc_build_fix' into 'master'
build/gcc: Fix Makefile to use c++17

See merge request saalen/astyle!12
2024-07-29 19:44:51 +00:00
Lars Wendler e1024fd185 build/gcc: Fix Makefile to use c++17
or else build breaks like this:

  astyle.h:332:44: error: ‘std::string_view’ has not been declared
    332 |         const std::string* findHeader(std::string_view line, int i,
        |                                            ^~~~~~~~~~~
2024-07-29 14:13:58 +02:00
André Simon e3910ee5f9 Merge branch 'cwhii-master-patch-22673' into 'master'
Add link to source code on gitlab #49

See merge request saalen/astyle!11
2024-07-11 07:34:06 +00:00
CW Holeman II 7ed82c2a70 Add link to source code on gitlab 2024-07-08 20:44:57 +00:00
saalen 7899f6637d https://gitlab.com/saalen/astyle/-/issues/47 fix indent of assignments within macros 2024-07-08 16:09:51 +02:00
Andre Simon a3c26f4a3e https://sourceforge.net/p/astyle/tickets/117/ adjust pad-include to adhere to indent-preproc-block
Signed-off-by: Andre Simon <as@andre-simon.de>
2024-07-06 16:53:30 +02:00
André Simon ea6b45b5df Merge branch 'bai/3.5.1-fixes' into 'master'
#48 fix(astyle_main.cpp): fix build against recent changes

See merge request saalen/astyle!10
2024-07-05 05:40:17 +00:00
Mingcong Bai 2c9258da22 fix(astyle_main.cpp): fix parseOption() usage against a recent change
This method used to take two parameters, now it only takes one.

Fixes: 5146121caa
2024-07-04 23:01:07 +08:00
Mingcong Bai 7e0e06dca5 fix(astyle_main.cpp): fix build against a recent change
Fixes: 8aeea822b9
2024-07-04 22:58:36 +08:00
Andre Simon 16fd02b032 update docs
Signed-off-by: Andre Simon <as@andre-simon.de>
2024-06-30 15:02:46 +02:00
Andre Simon 178d5286da #46 added gsc mode
Signed-off-by: Andre Simon <as@andre-simon.de>
2024-06-30 14:57:36 +02:00
Andre Simon 5146121caa https://sourceforge.net/p/astyle/bugs/575 fix VS19 compiler warnings 2024-06-30 11:22:57 +02:00
saalen 614e75d706 https://sourceforge.net/p/astyle/tickets/117/ added pad-include options 2024-06-24 14:26:43 +02:00
saalen cbac1114a4 updated docs 2024-06-20 15:59:15 +02:00
saalen 8aeea822b9 https://gitlab.com/saalen/astyle/-/issues/43 keep initial EOL for file name input 2024-06-19 15:31:24 +02:00
André Simon 5d96c868ac fix binary mode of stdin/stdout in Windows builds 2024-06-18 22:11:30 +02:00
saalen 96b8fde1d8 https://gitlab.com/saalen/astyle/-/issues/43 improve EOL handling, keep initial EOL 2024-06-18 15:54:29 +02:00
saalen 85b24a1e01 https://gitlab.com/saalen/astyle/-/issues/43 improve EOL handling 2024-06-18 15:38:20 +02:00
saalen bfa423b949 https://sourceforge.net/p/astyle/bugs/574/ update docs 2024-06-18 15:36:49 +02:00
saalen 893a433aa7 https://sourceforge.net/p/astyle/bugs/574/ fix crash 2024-06-17 17:01:32 +02:00
saalen 3524d66639 #42 fix recognition of Java/C# multi line strings 2024-06-05 14:42:43 +02:00
saalen 3f3f90b577 updated version number 2024-06-04 16:27:41 +02:00
saalen af17f3b833 https://sourceforge.net/p/astyle/bugs/571 add option --pad-negation=before 2024-06-04 16:16:23 +02:00
saalen 88a2903caf https://sourceforge.net/p/astyle/bugs/571 add option --pad-negation in bash completion 2024-06-03 16:22:35 +02:00
saalen 4154588caf https://sourceforge.net/p/astyle/bugs/571 add option --pad-negation in help messages 2024-06-03 16:18:34 +02:00
saalen 9369c8455f https://sourceforge.net/p/astyle/bugs/571 add option --pad-negation 2024-06-03 15:27:10 +02:00
saalen aa7e2febec https://sourceforge.net/p/astyle/bugs/573/ apply align-pointer=type only if type is present 2024-06-03 14:51:15 +02:00
saalen 4e72cf7e15 updated docs 2024-06-03 14:51:15 +02:00
saalen 683a618343 https://sourceforge.net/p/astyle/bugs/574/ avoid deletion of empty lines after continuation 2024-06-03 14:51:01 +02:00
saalen 422985f01b https://sourceforge.net/p/astyle/bugs/572/ fix alignment of logical and operators 2024-06-03 12:52:57 +02:00
saalen 9fd80e1abe updated docs and version 2024-05-16 11:15:42 +02:00
saalen 485382e2aa https://gitlab.com/saalen/astyle/-/issues/35 fix of reference args alignment 2024-05-16 11:13:13 +02:00
saalen b27cccdb9d https://sourceforge.net/p/astyle/bugs/570/ fix padding of scientific notation literals 2024-05-14 23:09:36 +02:00
saalen 8c69e067ec fix padding of lambda capture with align-pointer option 2024-05-07 13:04:16 +02:00
saalen b09b2355e0 https://sourceforge.net/p/astyle/bugs/560/ exclude files ending with backup suffix from input file names list 2024-05-03 15:59:06 +02:00
saalen 86532b948f https://gitlab.com/saalen/astyle/-/issues/35 fix of --align-pointer=type option for all types in lambda parameter lists 2024-05-03 13:14:17 +02:00
saalen 3623229876 https://sourceforge.net/p/astyle/bugs/569/ fix --break-block handling of class and function blocks 2024-05-03 09:37:56 +02:00
saalen bac6279b26 https://sourceforge.net/p/astyle/bugs/566/ fix parsing of floating point literals 2024-05-02 17:09:29 +02:00
Andre Simon 050c108c28 updated astyle readme 2024-04-28 18:01:57 +02:00
saalen bcf5bb4a5e removed getIndentedLineReturn method 2024-04-17 17:16:27 +02:00
saalen 9a77b83a8b enabled C++17 compiler switch 2024-04-09 17:38:46 +02:00
saalen fd449b0e5e replaced const string refs by string_view parameters 2024-04-09 17:27:18 +02:00
saalen 803ba0955a https://gitlab.com/saalen/astyle/-/issues/24 add cmake option to disable documentation installation 2024-04-05 16:05:06 +02:00
saalen 086ed3a3d3 https://gitlab.com/saalen/astyle/-/issues/29 fix of --indent-after-parens indent count 2024-04-04 17:00:44 +02:00
saalen 9af46ccc6c https://gitlab.com/saalen/astyle/-/issues/35 fix of --align-pointer=type option for fundamental types in lambda parameter lists 2024-04-04 16:21:55 +02:00
saalen 04aabdd005 https://sourceforge.net/p/astyle/bugs/565/ fixed split references with -k1 option 2024-03-28 13:27:32 +01:00
saalen 15cf1e018b Merge branch 'master' of gitlab.com:saalen/astyle 2024-03-06 13:01:51 +01:00
saalen f32c555bc1 https://sourceforge.net/p/astyle/bugs/564/ fixed documentation 2024-03-06 12:16:10 +01:00
saalen 7e97becbcf update documentation and notes 2024-03-06 12:07:16 +01:00
saalen 21b58e214e #39 fix comment indent after string macro with R suffix 2024-03-06 12:00:40 +01:00
saalen 16c4a56aa4 #38 do not break single line block after enum in mozilla mode 2024-03-06 10:52:33 +01:00
saalen aa58fe1aa4 #40 adjust cmake policy for new versions only 2024-03-05 15:59:52 +01:00
André Simon 87e0136e5f Merge branch 'master' into 'master'
News page: Fix typo, add last release dates

See merge request saalen/astyle!9
2024-02-24 06:39:44 +00:00
Peu 3bdf5fb041 News page: Fix typo, add last release dates 2024-02-24 06:39:43 +00:00
André Simon b66f3cb173 Merge branch 'master' into 'master'
support scikit-build-core

See merge request saalen/astyle!8
2024-02-12 15:21:55 +00:00
Wu Zhenyu 055c06d4c5 support scikit-build-core
refer https://github.com/scikit-build/scikit-build-core/issues/632#issuecomment-1936946228
we must patch code to avoid more issues down the line
2024-02-10 17:12:38 +08:00
Wu Zhenyu 93605a0147 change /usr/man to /usr/share/man to respect standard 2024-02-10 17:12:12 +08:00
saalen 1c27f34918 https://gitlab.com/saalen/astyle/-/issues/36 fixed addition of closing brace within statement blocks 2024-02-02 17:19:14 +01:00
saalen 96bd14dee1 https://gitlab.com/saalen/astyle/-/issues/36 fixed addition of closing brace after multi line statements 2024-02-01 16:49:20 +01:00
saalen 90499c92cf https://gitlab.com/saalen/astyle/-/issues/36 fixed crash with opening block in next line 2024-01-30 21:21:51 +01:00
saalen cf95606462 updated docs 2024-01-30 16:32:30 +01:00
saalen 05502078e1 https://gitlab.com/saalen/astyle/-/issues/36 fixed crash with --add-braces=nested applied to if-else blocks 2024-01-26 16:22:59 +01:00
saalen 95c9e4f6db https://gitlab.com/saalen/astyle/-/issues/33 added --pad-brackets-in and --pad-brackets-out options 2024-01-19 16:40:02 +01:00
saalen 619081a737 https://gitlab.com/saalen/astyle/-/issues/28 fixed indentation of initializer lists 2024-01-16 10:37:57 +01:00
saalen 3f2b5c92a0 https://gitlab.com/saalen/astyle/-/issues/27 updated notes.html 2024-01-05 17:28:54 +01:00
saalen 99ceeb79b4 https://gitlab.com/saalen/astyle/-/issues/27 avoid assertion error if brace already exists 2024-01-05 17:26:21 +01:00
saalen bbf726c605 https://gitlab.com/saalen/astyle/-/issues/27 add new option --add-braces=nested to add braces around nested one line stmts 2024-01-05 16:59:46 +01:00
saalen 2987c9b361 https://gitlab.com/saalen/astyle/-/issues/28 fix indent of struct members with dot prefix 2024-01-03 16:19:54 +01:00
saalen 48b574fccf updated notes.html 2024-01-02 17:27:41 +01:00
saalen 15ae8d6bdb https://gitlab.com/saalen/astyle/-/issues/28 fix indent after double template brackets 2024-01-02 17:18:19 +01:00
saalen 58710b4b86 https://gitlab.com/saalen/astyle/-/issues/28 fix indent after dot 2024-01-02 15:10:36 +01:00
Andre Simon d31b289c0d https://sourceforge.net/p/astyle/bugs/559/ fix CI pipeline 2024-01-01 21:35:36 +01:00
Andre Simon 9c6e9f942a https://sourceforge.net/p/astyle/bugs/559/ change squeeze line counter int type 2024-01-01 21:24:26 +01:00
André Simon 8218a855f7 https://sourceforge.net/p/astyle/bugs/559/ initialize squeeze line counter 2024-01-01 20:58:57 +01:00
saalen 9a26f1e6d4 https://gitlab.com/saalen/astyle/-/issues/31 add experimental GHC mode 2023-12-29 16:53:22 +01:00
saalen 6f8e619193 https://gitlab.com/saalen/astyle/-/issues/32 fix indent after raw string 2023-12-29 16:01:41 +01:00
saalen a2056ddf70 https://gitlab.com/saalen/astyle/-/issues/26 disable for another approach 2023-11-30 16:52:39 +01:00
saalen c988613837 https://gitlab.com/saalen/astyle/-/issues/26 apply only to C syntax 2023-11-28 15:33:59 +01:00
saalen cea7932ed4 https://gitlab.com/saalen/astyle/-/issues/26 fix indent of switch blocks 2023-11-27 16:38:56 +01:00
saalen 05a5acaf64 https://gitlab.com/saalen/astyle/-/issues/26 fix indent of labels within functions returning a struct 2023-11-27 14:25:06 +01:00
saalen 774bf30237 https://sourceforge.net/p/astyle/bugs/558/ fixed some typos 2023-11-10 16:28:09 +01:00
saalen 824d4b7991 https://gitlab.com/saalen/astyle/-/issues/16 fixed missing indent in function parameter list 2023-10-19 18:17:11 +02:00
saalen 3818cc1def fixed CI script 2023-10-16 17:20:16 +02:00
saalen 3905a70a59 updated astyle paths in CI test scripts 2023-10-16 17:17:23 +02:00
saalen e2870b5171 https://sourceforge.net/p/astyle/bugs/557 fixed inserting space with combined --pad-oper and --align-pointer=type option 2023-10-16 13:27:30 +02:00
saalen 859f868f26 https://sourceforge.net/p/astyle/bugs/557 fixed inserting space with combined --pad-oper and --align-pointer options 2023-10-16 13:20:24 +02:00
André Simon 5b302bf3fa Merge branch 'master' into 'master'
Master

See merge request saalen/astyle!7
2023-10-13 14:37:25 +00:00
CW Holeman II 86f28be2b8 Merge branch astyle:master into master 2023-10-12 17:57:44 +00:00
cwhii 2eb37a49f6 #21 backed out style as not for HTML comments. 2023-10-12 10:56:11 -07:00
André Simon 797da683e5 Merge branch 'master' into 'master'
Master

See merge request saalen/astyle!6
2023-10-10 13:49:03 +00:00
CW Holeman II da93cd3051 Merge branch astyle:master into master 2023-10-09 14:29:45 +00:00
cwhii b0c8794ad0 #21 Use CSS white-space/nowrap rather than special dash charcter in HTML files. 2023-10-09 07:25:28 -07:00
André Simon 025ad91b75 Merge branch 'master' into 'master'
Master

See merge request saalen/astyle!5
2023-10-05 16:10:22 +00:00
saalen 45833e5e1b https://sourceforge.net/p/astyle/bugs/97/ fixed multi line assignment indentation 2023-10-04 16:30:01 +02:00
saalen 51bb19097d simplified code 2023-10-04 16:29:15 +02:00
cwhii 2cee63dd71 #21 Spell Objective-C consistently. 2023-10-03 14:54:05 -07:00
cwhii c00b836e3c Spell Objective-C consistently. 2023-10-03 14:42:43 -07:00
CW Holeman II d83f96a5b4 Merge branch astyle:master into master 2023-10-02 17:58:31 +00:00
cwhii 9db81c02ce Typo. 2023-10-02 10:15:44 -07:00
saalen 1084cdaf92 updated version 2023-09-29 16:13:29 +02:00
saalen ae991ee51c https://gitlab.com/saalen/astyle/-/issues/16 fix line break with several array initializers in a single line block 2023-09-29 16:09:55 +02:00
saalen 1e727f453d Merge branch 'master' of gitlab.com:saalen/astyle 2023-09-28 16:52:35 +02:00
saalen 77ff0d844f https://gitlab.com/saalen/astyle/-/issues/16 fix line break after casting within an if block 2023-09-28 16:52:21 +02:00
André Simon 1b2631e578 Merge branch 'master' into 'master'
Force ASCIIdoc to passthru C++ w/o formatting.

See merge request saalen/astyle!4
2023-09-27 21:04:51 +00:00
cwhii 2f60ecae3b Forse ASCIIdoc to passthru C++ w/o formatting. 2023-09-27 13:59:26 -07:00
saalen 44da67c6fb https://gitlab.com/saalen/astyle/-/issues/19 improved expressions in docs 2023-09-22 09:34:37 +02:00
saalen 7cf2c8e678 updated version 2023-09-21 17:13:07 +02:00
saalen 9ab14f1f50 https://gitlab.com/saalen/astyle/-/issues/19 added new option --pad-empty-paren 2023-09-21 17:11:37 +02:00
saalen 3368b0bc16 updated version and notes 2023-09-21 16:39:38 +02:00
saalen 80070921d5 https://gitlab.com/saalen/astyle/-/issues/16 fix line break after set variable name 2023-09-21 16:25:53 +02:00
saalen 223a8a765c https://gitlab.com/saalen/astyle/-/issues/16 adjusted indent count 2023-09-18 22:30:39 +02:00
saalen 3ed3247931 https://gitlab.com/saalen/astyle/-/issues/18 fixed empty line after switch block 2023-09-15 14:18:32 +02:00
saalen 537c3d10d3 https://gitlab.com/saalen/astyle/-/issues/19 added outer padding for emtpy parens pairs 2023-09-14 20:33:04 +02:00
saalen 55ff6e9425 https://sourceforge.net/p/astyle/bugs/556 fixed astyle docs 2023-09-13 16:10:54 +02:00
saalen 52f0e25f7f https://gitlab.com/saalen/astyle/-/issues/18 fixed empty line after closing while block - new approach 2023-09-13 16:09:02 +02:00
saalen 061c17f5e8 updated version and notes 2023-09-08 16:38:36 +02:00
saalen e1fc3515a5 https://sourceforge.net/p/astyle/bugs/434/ fixed indentation of method calls - avoid more regressions 2023-09-08 14:25:44 +02:00
saalen 664168e298 https://sourceforge.net/p/astyle/bugs/434/ fixed indentation of method calls - avoid regression 2023-09-08 13:41:19 +02:00
saalen 2d1a88565e https://sourceforge.net/p/astyle/bugs/434/ fixed indentation of method calls 2023-09-07 16:48:07 +02:00
saalen c8a2db74c9 https://gitlab.com/saalen/astyle/-/issues/18 fixed empty line after closing while block 2023-09-04 16:34:25 +02:00
saalen c7b4dbcea1 https://sourceforge.net/p/astyle/bugs/554 fixed lambda broken brace after auto keyword 2023-09-01 16:04:28 +02:00
saalen ca002bd04d https://sourceforge.net/p/astyle/bugs/226 fixed line break after comment in asm block 2023-09-01 15:18:58 +02:00
saalen 5e6a58a962 https://sourceforge.net/p/astyle/bugs/126 fixed padding of multiply operator 2023-08-31 16:14:02 +02:00
saalen ebbd504e0f fix CS padding in array method invocation 2023-08-24 14:49:50 +02:00
saalen 4bdeb795e7 https://gitlab.com/saalen/astyle/-/issues/16 updated version 2023-08-24 14:17:02 +02:00
saalen 3e849512f2 https://gitlab.com/saalen/astyle/-/issues/16 fixed line break in value list 2023-08-23 17:13:05 +02:00
saalen 09f0e26cd5 https://gitlab.com/saalen/astyle/-/issues/16 delete unused variable 2023-08-22 14:19:56 +02:00
saalen 62e13df4f2 https://gitlab.com/saalen/astyle/-/issues/16 fixed CS indent of array init lists within parentheses 2023-08-22 14:15:49 +02:00
saalen 75500584dd https://gitlab.com/saalen/astyle/-/issues/16 reverted some changes to avoid regressions 2023-08-21 16:43:15 +02:00
saalen 37e62ef92e https://gitlab.com/saalen/astyle/-/issues/16 fixed CS indent after new keyword in using clause 2023-08-18 14:33:42 +02:00
saalen ff64d03617 https://sourceforge.net/p/astyle/bugs/553/ fixed block breaks in lambda blocks 2023-08-18 13:50:56 +02:00
saalen 8c4c45aa5e #8 fixed formatting of CS interpolation literals - testing for escaped quote 2023-08-17 18:07:43 +02:00
saalen 803e9aa64e https://gitlab.com/saalen/astyle/-/issues/16 fixed CS indent after new keyword in if clause 2023-08-17 17:13:34 +02:00
saalen 2843dfde8f https://gitlab.com/saalen/astyle/-/issues/16 fixed CS indent after new keyword checking for header types 2023-08-16 14:44:28 +02:00
saalen fad44e2ee7 https://gitlab.com/saalen/astyle/-/issues/16 fixed CS indent after new keyword 2023-08-15 15:36:45 +02:00
saalen 3067304024 https://gitlab.com/saalen/astyle/-/issues/17 added C# coalesce operator #2 2023-08-11 16:27:08 +02:00
saalen 91d458cc25 updated version and notes 2023-08-11 16:17:04 +02:00
saalen 4b25cf7cea https://gitlab.com/saalen/astyle/-/issues/17 added C# coalesce operator 2023-08-11 15:48:02 +02:00
saalen 6152d3d67c https://gitlab.com/saalen/astyle/-/issues/16 new approach 2023-08-11 15:36:37 +02:00
Andre Simon 59ea063e6e fix typos of codespell report 2023-08-03 18:14:46 +02:00
saalen da71161dda updated version and notes 2023-08-02 09:24:41 +02:00
André Simon 6f12728575 Merge branch 'master' into 'master'
Moved squeeze-lines option and added VS2022

See merge request saalen/astyle!3
2023-08-02 07:18:57 +00:00
saalen 41da8a746b https://gitlab.com/saalen/astyle/-/issues/16 updated notes 2023-08-01 17:57:01 +02:00
saalen 32fba0e9b5 https://gitlab.com/saalen/astyle/-/issues/16 C# fixed indentation of comments after interpolation quotes 2023-08-01 17:53:37 +02:00
saalen 9a0ff6b2a1 https://gitlab.com/saalen/astyle/-/issues/14 added TODO hints 2023-08-01 17:26:08 +02:00
elverimu 8a1f941db1 moved squeeze-lines option, so it can be used in library 2023-08-01 15:52:52 +02:00
elverimu 688d706f3e added VS2022 solutions 2023-08-01 15:52:35 +02:00
saalen 19850fcdb6 https://sourceforge.net/p/astyle/bugs/464/ fixed indent of C# allocation blocks 2023-07-05 16:20:02 +02:00
saalen d93540a274 https://sourceforge.net/p/astyle/bugs/504/ fixed indent of function declarations following access modifiers 2023-06-26 12:11:44 +02:00
saalen 30cf6f3baa code reformatting 2023-06-23 14:20:08 +02:00
saalen 75d3e4ed62 https://sourceforge.net/p/astyle/bugs/552/ fixed padding of & following a comma 2023-06-23 14:10:27 +02:00
89 changed files with 8865 additions and 1765 deletions
+17
View File
@@ -0,0 +1,17 @@
# Specify the docker image to use (only used if using docker runners)
# See: http://doc.gitlab.com/ee/ci/docker/using_docker_images.html
image: debian:stable-slim
# Define commands that run before each job's script
before_script:
- apt-get update
- apt-get install -y make gcc g++ cmake
compile:
script:
- cd AStyle/
- mkdir build_local && cd build_local
- cmake .. && make
- cd ../../AStyleTest/regression-sh/
# Verify that our compiled app works properly with a custom "test" script
- bash ./run_tests.sh
+5 -1
View File
@@ -1,5 +1,9 @@
cmake_minimum_required(VERSION 3.8)
cmake_policy(SET CMP0112 OLD)
if(CMAKE_VERSION VERSION_GREATER "3.19.0")
cmake_policy(SET CMP0112 OLD)
endif()
project(astyle CXX)
include( build/cmake/Options.cmake REQUIRED )
+1 -1
View File
@@ -3,7 +3,7 @@ Instructions for using Artistic Style are included in the *doc* directory.
The file **install.html** contains instructions for compiling and
installing Artistic Style.
The file **astyle.html**' contains information on using Artistic Style.
The file **astyle.html** contains information on using Artistic Style.
The files **news.html** and **notes.html** contain information on changes
made to the various releases.
+2 -2
View File
@@ -16,7 +16,7 @@
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
@@ -34,7 +34,7 @@
<Add option="-O3" />
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+2 -2
View File
@@ -14,7 +14,7 @@
<Compiler>
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
@@ -51,7 +51,7 @@
<Add option="-fPIC" />
<Add option="-O3" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+2 -2
View File
@@ -15,7 +15,7 @@
<Add option="-fPIC" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
@@ -34,7 +34,7 @@
<Add option="-fPIC" />
<Add option="-O3" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+3 -3
View File
@@ -19,7 +19,7 @@
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
@@ -34,7 +34,7 @@
<Compiler>
<Add option="-O3" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
@@ -59,7 +59,7 @@
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+2 -2
View File
@@ -16,7 +16,7 @@
<Compiler>
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
@@ -34,7 +34,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DNDEBUG" />
+2 -2
View File
@@ -14,7 +14,7 @@
<Compiler>
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-g" />
<Add option="-fno-rtti" />
@@ -39,7 +39,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+2 -2
View File
@@ -14,7 +14,7 @@
<Compiler>
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-g" />
<Add option="-fno-rtti" />
@@ -34,7 +34,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+4 -4
View File
@@ -15,7 +15,7 @@
<Compiler>
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
@@ -31,7 +31,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DNDEBUG" />
@@ -64,7 +64,7 @@
<Add option="-pedantic" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-exceptions" />
<Add option="-fno-rtti" />
<Add option="-Wconversion" />
@@ -92,7 +92,7 @@
<Compiler>
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-pg" />
<Add option="-g" />
<Add option="-fprofile-arcs" />
+2 -2
View File
@@ -19,7 +19,7 @@
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-exceptions" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-DASTYLE_LIB" />
</Compiler>
</Target>
@@ -36,7 +36,7 @@
<Add option="-Wall" />
<Add option="-Wextra" />
<Add option="-fno-exceptions" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-wd11074,11076" />
<Add option="-DNDEBUG" />
<Add option="-DASTYLE_LIB" />
+2 -2
View File
@@ -17,7 +17,7 @@
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-exceptions" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-DASTYLE_JNI" />
<Add directory="/usr/lib/jvm/default-java/include" />
@@ -39,7 +39,7 @@
<Add option="-Wall" />
<Add option="-Wextra" />
<Add option="-fno-exceptions" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fPIC" />
<Add option="-wd11074,11076" />
<Add option="-DASTYLE_JNI" />
+2 -2
View File
@@ -18,7 +18,7 @@
<Add option="-Wextra" />
<Add option="-fno-exceptions" />
<Add option="-fPIC" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-DASTYLE_LIB" />
</Compiler>
<Linker>
@@ -38,7 +38,7 @@
<Add option="-Wextra" />
<Add option="-fno-exceptions" />
<Add option="-fPIC" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-wd11074,11076" />
<Add option="-DASTYLE_LIB" />
<Add option="-DDNDEBUG" />
+2 -2
View File
@@ -17,7 +17,7 @@
<Add option="-Wall" />
<Add option="-g" />
<Add option="-fno-exceptions" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
</Compiler>
</Target>
@@ -32,7 +32,7 @@
<Add option="-O3" />
<Add option="-Wall" />
<Add option="-fno-exceptions" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-wd11074,11076" />
<Add option="-DNDEBUG" />
+2 -2
View File
@@ -16,7 +16,7 @@
<Compiler>
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
@@ -45,7 +45,7 @@
<Add option="-O3" />
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+2 -2
View File
@@ -14,7 +14,7 @@
<Compiler>
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
@@ -41,7 +41,7 @@
<Add option="-O3" />
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+4 -4
View File
@@ -14,13 +14,13 @@
<Compiler>
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-fpic" />
<Add option="-Wno-c++11-long-long" />
<Add option="-Wno-c++17-long-long" />
<Add option="-Wno-c++98-compat" />
<Add option="-Wno-c++98-compat-pedantic" />
<Add option="-Wno-exit-time-destructors" />
@@ -48,12 +48,12 @@
<Add option="-O3" />
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-fpic" />
<Add option="-Wno-c++11-long-long" />
<Add option="-Wno-c++17-long-long" />
<Add option="-Wno-c++98-compat" />
<Add option="-Wno-c++98-compat-pedantic" />
<Add option="-Wno-exit-time-destructors" />
+2 -2
View File
@@ -15,7 +15,7 @@
<Compiler>
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-g" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
@@ -44,7 +44,7 @@
<Add option="-O3" />
<Add option="-Weverything" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-Wextra" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
+3 -3
View File
@@ -15,7 +15,7 @@
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DASTYLE_LIB" />
@@ -33,7 +33,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DNDEBUG" />
@@ -71,7 +71,7 @@
<Add option="-Wint-to-pointer-cast" />
<Add option="-Woverloaded-virtual" />
<Add option="-Wwrite-strings" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-exceptions" />
<Add option="-fno-rtti" />
<Add option="-DASTYLE_LIB" />
+3 -3
View File
@@ -15,7 +15,7 @@
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DASTYLE_JNI" />
@@ -35,7 +35,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DNDEBUG" />
@@ -75,7 +75,7 @@
<Add option="-Wint-to-pointer-cast" />
<Add option="-Woverloaded-virtual" />
<Add option="-Wwrite-strings" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-exceptions" />
<Add option="-fno-rtti" />
<Add option="-DASTYLE_JNI" />
+2 -2
View File
@@ -17,7 +17,7 @@
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DASTYLE_LIB" />
@@ -34,7 +34,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DNDEBUG" />
+4 -4
View File
@@ -16,7 +16,7 @@
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
</Compiler>
@@ -30,7 +30,7 @@
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-rtti" />
<Add option="-fno-exceptions" />
<Add option="-DNDEBUG" />
@@ -66,7 +66,7 @@
<Add option="-Wint-to-pointer-cast" />
<Add option="-Woverloaded-virtual" />
<Add option="-Wwrite-strings" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-fno-exceptions" />
<Add option="-fno-rtti" />
</Compiler>
@@ -79,7 +79,7 @@
<Compiler>
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-std=c++11" />
<Add option="-std=c++17" />
<Add option="-pg" />
<Add option="-g" />
<Add option="-fprofile-arcs" />
+2 -2
View File
@@ -39,14 +39,14 @@ endif
bindir = bin
objdir = obj
ipath=$(prefix)/bin
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17
JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
INSTALL=install -o $(USER) -g $(USER)
# Library's major version number -- Increment in case of incompatible API
# change.
MAJORVER = 3
# Library's minor version number -- Increment when functionnality is added in a
# Library's minor version number -- Increment when functionality is added in a
# backward-compatible manner; reset to 0 when major number changes.
MINORVER = 2
# Library's patch version number -- Increment in case of backward-compatible
+4 -4
View File
@@ -1,8 +1,8 @@
# Set default compile options for supported compilers
if(APPLE)
target_compile_options( astyle PRIVATE -W -Wall -fno-rtti -fno-exceptions -std=c++11 -stdlib=libc++)
target_compile_options( astyle PRIVATE -W -Wall -fno-rtti -fno-exceptions -std=c++17 -stdlib=libc++)
elseif(NOT WIN32) # Linux
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11)
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17)
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "gnu")
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
if (NOT (GCC_VERSION VERSION_GREATER 4.6 OR GCC_VERSION VERSION_EQUAL 4.6))
@@ -13,8 +13,8 @@ elseif(NOT WIN32) # Linux
target_compile_options(astyle PRIVATE -wd11074,11076)
endif()
elseif(MINGW)
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11)
elseif(BORLAND) # Release must be explicitely requested for Borland
target_compile_options(astyle PRIVATE -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17)
elseif(BORLAND) # Release must be explicitly requested for Borland
target_compile_options(astyle PRIVATE -q -w -x-) # Cannot use no-rtti (-RT-)
endif()
+17 -4
View File
@@ -3,12 +3,21 @@
# Default linux install prefix is /usr/local"
# This may be modified by -DCMAKE_INSTALL_PREFIX=
# Default Win32 install prefix is not used (C:/Program Files (x86))
option(INSTALL_DOC ON)
if(BUILD_SHARED_LIBS OR BUILD_STATIC_LIBS)
if(NOT WIN32)
install(TARGETS astyle DESTINATION lib)
endif()
else()
if(WIN32)
if(SKBUILD)
install(TARGETS astyle DESTINATION "${SKBUILD_SCRIPTS_DIR}")
if(INSTALL_DOC)
install(FILES ${DOCS} DESTINATION "${SKBUILD_DATA_DIR}/share/doc/astyle/html")
install(FILES ${MAN} DESTINATION "${SKBUILD_DATA_DIR}/share/man/man1")
endif()
elseif(WIN32)
set(pf86 "PROGRAMFILES(x86)")
set(prog_files $ENV{${pf86}})
if(NOT ${prog_files})
@@ -19,14 +28,18 @@ else()
elseif(APPLE)
# install to the default /usr/local/bin because of SIP restrictions
install(TARGETS astyle DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
if(INSTALL_DOC)
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
endif()
else()
# change default to /usr/bin, the same as package installs
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "/usr")
endif()
install(TARGETS astyle DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
INSTALL(FILES ${MAN} DESTINATION "${CMAKE_INSTALL_PREFIX}/man/man1")
if(INSTALL_DOC)
install(FILES ${DOCS} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/astyle/html")
install(FILES ${MAN} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1")
endif()
endif()
endif()
+1 -1
View File
@@ -10,7 +10,7 @@ endif()
# Linux Soname Version
set(MAJORVER 3)
set(MINORVER 4)
set(MINORVER 5)
set(PATCHVER 0)
set(SOLIBVER ${MAJORVER}.${MINORVER}.${PATCHVER})
+2 -2
View File
@@ -36,14 +36,14 @@ SYSCONF_PATH=$(prefix)/share/doc/astyle
bindir = bin
objdir = obj
ipath=$(prefix)/bin
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17
JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
INSTALL=install -o $(USER) -g $(USER)
# Library's major version number -- Increment in case of incompatible API
# change.
MAJORVER = 3
# Library's minor version number -- Increment when functionnality is added in a
# Library's minor version number -- Increment when functionality is added in a
# backward-compatible manner; reset to 0 when major number changes.
MINORVER = 2
# Library's patch version number -- Increment in case of backward-compatible
+2 -2
View File
@@ -49,14 +49,14 @@ endif
bindir = bin
objdir = obj
ipath=$(prefix)/bin
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++11
CBASEFLAGS = -Wall -Wextra -fno-rtti -fno-exceptions -std=c++17
JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
INSTALL=install -o $(USER) -g $(USER)
# Library's major version number -- Increment in case of incompatible API
# change.
MAJORVER = 3
# Library's minor version number -- Increment when functionnality is added in a
# Library's minor version number -- Increment when functionality is added in a
# backward-compatible manner; reset to 0 when major number changes.
MINORVER = 2
# Library's patch version number -- Increment in case of backward-compatible
+1 -1
View File
@@ -39,7 +39,7 @@ dynamiclib = -dynamiclib
bindir = bin
objdir = obj
ipath=$(prefix)/bin
CBASEFLAGS = -W -Wall -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions \
CBASEFLAGS = -W -Wall -std=c++17 -stdlib=libc++ -fno-rtti -fno-exceptions \
-mmacosx-version-min=10.9
LDBASEFLAGS =
JAVAINCS = -I/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/include \
+37
View File
@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28516.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle", "AStyle\AStyle.vcxproj", "{24189F85-8CB6-4993-8530-855BD6C8B70A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
Static|x64 = Static|x64
Static|x86 = Static|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.ActiveCfg = Debug|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.Build.0 = Debug|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.ActiveCfg = Debug|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.Build.0 = Debug|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.ActiveCfg = Release|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.Build.0 = Release|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.ActiveCfg = Release|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.Build.0 = Release|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.ActiveCfg = Static|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.Build.0 = Static|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.ActiveCfg = Static|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.Build.0 = Static|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C49A012F-6AB6-4660-B927-2AAF54D082AA}
EndGlobalSection
EndGlobal
+37
View File
@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28516.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Dll", "AStyle Dll\AStyle Dll.vcxproj", "{07229666-1841-4021-B206-1A8917985A66}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
Static|x64 = Static|x64
Static|x86 = Static|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.ActiveCfg = Debug|x64
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.Build.0 = Debug|x64
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.ActiveCfg = Debug|Win32
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.Build.0 = Debug|Win32
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.ActiveCfg = Release|x64
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.Build.0 = Release|x64
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.ActiveCfg = Release|Win32
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.Build.0 = Release|Win32
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.ActiveCfg = Static|x64
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.Build.0 = Static|x64
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.ActiveCfg = Static|Win32
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.Build.0 = Static|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {71D57643-84DD-4750-89C3-6369BEA22324}
EndGlobalSection
EndGlobal
@@ -0,0 +1,279 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|Win32">
<Configuration>Static</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|x64">
<Configuration>Static</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{07229666-1841-4021-B206-1A8917985A66}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>AStyleDll</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)debug\</OutDir>
<TargetName>AStyle32d</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
<TargetName>AStyle32d</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)bin\</OutDir>
<TargetName>AStyle32</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)binstatic\</OutDir>
<TargetName>AStyle32</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
<TargetName>AStyle32</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
<TargetName>AStyle32</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
<ClCompile Include="..\..\..\src\ASResource.cpp" />
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\astyle.h" />
<ClInclude Include="..\..\..\src\astyle_main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\astyle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\astyle_main.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASResource.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\astyle_main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+37
View File
@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28516.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Java", "AStyle Java\AStyle Java.vcxproj", "{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
Static|x64 = Static|x64
Static|x86 = Static|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.ActiveCfg = Debug|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.Build.0 = Debug|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.ActiveCfg = Debug|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.Build.0 = Debug|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.ActiveCfg = Release|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.Build.0 = Release|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.ActiveCfg = Release|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.Build.0 = Release|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.ActiveCfg = Static|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.Build.0 = Static|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.ActiveCfg = Static|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.Build.0 = Static|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A4619C60-3409-478F-B944-70443175BDEB}
EndGlobalSection
EndGlobal
@@ -0,0 +1,285 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|Win32">
<Configuration>Static</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|x64">
<Configuration>Static</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>AStyleJava</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)debug\</OutDir>
<TargetName>AStyle32jd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
<TargetName>AStyle32jd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)bin\</OutDir>
<TargetName>AStyle32j</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)binstatic\</OutDir>
<TargetName>AStyle32j</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
<TargetName>AStyle32j</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
<TargetName>AStyle32j</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;ASTYLE_JNI</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;ASTYLE_JNI</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalOptions>/EXPORT:AStyleMain=_AStyleMain@16
/EXPORT:AStyleMainUtf16=_AStyleMainUtf16@16
/EXPORT:AStyleGetVersion=_AStyleGetVersion@0 %(AdditionalOptions)</AdditionalOptions>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_JNI</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32</AdditionalIncludeDirectories>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>No</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
<ClCompile Include="..\..\..\src\ASResource.cpp" />
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\astyle.h" />
<ClInclude Include="..\..\..\src\astyle_main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\astyle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\astyle_main.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASResource.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\astyle_main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+37
View File
@@ -0,0 +1,37 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28516.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Lib", "AStyle Lib\AStyle Lib.vcxproj", "{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
Static|x64 = Static|x64
Static|x86 = Static|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.ActiveCfg = Debug|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.Build.0 = Debug|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.ActiveCfg = Debug|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.Build.0 = Debug|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.ActiveCfg = Release|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.Build.0 = Release|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.ActiveCfg = Release|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.Build.0 = Release|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.ActiveCfg = Static|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.Build.0 = Static|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.ActiveCfg = Static|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.Build.0 = Static|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9A55493F-97EF-4723-B937-B41EBB84F52B}
EndGlobalSection
EndGlobal
@@ -0,0 +1,266 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|Win32">
<Configuration>Static</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|x64">
<Configuration>Static</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>AStyleLib</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)debug\</OutDir>
<TargetName>AStyleLibd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
<TargetName>AStyleLibd</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)bin\</OutDir>
<TargetName>AStyleLib</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<OutDir>$(SolutionDir)binstatic\</OutDir>
<TargetName>AStyleLib</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
<TargetName>AStyleLib</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
<TargetName>AStyleLib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0;ASTYLE_LIB;ASTYLE_NO_EXPORT</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
<ClCompile Include="..\..\..\src\ASResource.cpp" />
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\astyle.h" />
<ClInclude Include="..\..\..\src\astyle_main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\astyle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\astyle_main.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASResource.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\astyle_main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
+285
View File
@@ -0,0 +1,285 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|Win32">
<Configuration>Static</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Static|x64">
<Configuration>Static</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{24189F85-8CB6-4993-8530-855BD6C8B70A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>AStyle</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>NotSet</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)debug\</OutDir>
<TargetName>AStyled</TargetName>
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\debug\</OutDir>
<TargetName>AStyled</TargetName>
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)bin\</OutDir>
<TargetName>AStyle</TargetName>
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)binstatic\</OutDir>
<TargetName>AStyle</TargetName>
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\bin\</OutDir>
<TargetName>AStyle</TargetName>
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>$(SolutionDir)$(Platform)\binstatic\</OutDir>
<TargetName>AStyle</TargetName>
<RunCodeAnalysis>false</RunCodeAnalysis>
<EnableCppCoreCheck>true</EnableCppCoreCheck>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>_DEBUG</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8</AdditionalOptions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>_DEBUG</PreprocessorDefinitions>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions>/utf-8</AdditionalOptions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<MinimalRebuild>false</MinimalRebuild>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<OmitFramePointers>true</OmitFramePointers>
<ExceptionHandling>false</ExceptionHandling>
<AdditionalOptions>/utf-8</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|Win32'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<AdditionalOptions>/utf-8</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<ExceptionHandling>false</ExceptionHandling>
<AdditionalOptions>/utf-8</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<EnablePREfast>false</EnablePREfast>
<ConformanceMode>true</ConformanceMode>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Static|x64'">
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;_HAS_EXCEPTIONS=0</PreprocessorDefinitions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<ExceptionHandling>false</ExceptionHandling>
<AdditionalOptions>/utf-8</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<EnablePREfast>false</EnablePREfast>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp" />
<ClCompile Include="..\..\..\src\ASEnhancer.cpp" />
<ClCompile Include="..\..\..\src\ASFormatter.cpp" />
<ClCompile Include="..\..\..\src\ASLocalizer.cpp" />
<ClCompile Include="..\..\..\src\ASResource.cpp" />
<ClCompile Include="..\..\..\src\astyle_main.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\ASLocalizer.h" />
<ClInclude Include="..\..\..\src\astyle.h" />
<ClInclude Include="..\..\..\src\astyle_main.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\ASBeautifier.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASEnhancer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASFormatter.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASLocalizer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\ASResource.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\src\astyle_main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\src\ASLocalizer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\astyle.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\src\astyle_main.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>
+79
View File
@@ -0,0 +1,79 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28516.95
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle", "AStyle\AStyle.vcxproj", "{24189F85-8CB6-4993-8530-855BD6C8B70A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Dll", "AStyle Dll\AStyle Dll.vcxproj", "{07229666-1841-4021-B206-1A8917985A66}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Java", "AStyle Java\AStyle Java.vcxproj", "{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AStyle Lib", "AStyle Lib\AStyle Lib.vcxproj", "{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
Static|x64 = Static|x64
Static|x86 = Static|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.ActiveCfg = Debug|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x64.Build.0 = Debug|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.ActiveCfg = Debug|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Debug|x86.Build.0 = Debug|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.ActiveCfg = Release|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x64.Build.0 = Release|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.ActiveCfg = Release|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Release|x86.Build.0 = Release|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.ActiveCfg = Static|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x64.Build.0 = Static|x64
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.ActiveCfg = Static|Win32
{24189F85-8CB6-4993-8530-855BD6C8B70A}.Static|x86.Build.0 = Static|Win32
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.ActiveCfg = Debug|x64
{07229666-1841-4021-B206-1A8917985A66}.Debug|x64.Build.0 = Debug|x64
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.ActiveCfg = Debug|Win32
{07229666-1841-4021-B206-1A8917985A66}.Debug|x86.Build.0 = Debug|Win32
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.ActiveCfg = Release|x64
{07229666-1841-4021-B206-1A8917985A66}.Release|x64.Build.0 = Release|x64
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.ActiveCfg = Release|Win32
{07229666-1841-4021-B206-1A8917985A66}.Release|x86.Build.0 = Release|Win32
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.ActiveCfg = Static|x64
{07229666-1841-4021-B206-1A8917985A66}.Static|x64.Build.0 = Static|x64
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.ActiveCfg = Static|Win32
{07229666-1841-4021-B206-1A8917985A66}.Static|x86.Build.0 = Static|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.ActiveCfg = Debug|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x64.Build.0 = Debug|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.ActiveCfg = Debug|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Debug|x86.Build.0 = Debug|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.ActiveCfg = Release|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x64.Build.0 = Release|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.ActiveCfg = Release|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Release|x86.Build.0 = Release|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.ActiveCfg = Static|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x64.Build.0 = Static|x64
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.ActiveCfg = Static|Win32
{4EDD4F9E-2088-4FE1-BDED-9357F05305CB}.Static|x86.Build.0 = Static|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.ActiveCfg = Debug|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x64.Build.0 = Debug|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.ActiveCfg = Debug|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Debug|x86.Build.0 = Debug|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.ActiveCfg = Release|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x64.Build.0 = Release|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.ActiveCfg = Release|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Release|x86.Build.0 = Release|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.ActiveCfg = Static|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x64.Build.0 = Static|x64
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.ActiveCfg = Static|Win32
{5CBCE435-6123-4FFA-A5C7-B91EA0FAE44E}.Static|x86.Build.0 = Static|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {33934F68-90BE-4D0F-B5D0-5EEF8F43412D}
EndGlobalSection
EndGlobal
+3 -3
View File
@@ -53,7 +53,7 @@ if [ ! -f install.sh ]; then
exit 1
fi
# remove previous documentaion
# remove previous documentation
echo $CYAN
echo "Installing documentation to $SYSCONF_PATH"
echo -n $YELLOW
@@ -61,12 +61,12 @@ if [ -d $SYSCONF_PATH/html ]; then
rm -rf $SYSCONF_PATH/html
result=$?; check_error
fi
# create documentaion install directory
# create documentation install directory
if [ ! -d $SYSCONF_PATH/html ]; then
$INSTALL -m 755 -d $SYSCONF_PATH/html
result=$?; check_error
fi
# copy documentaion
# copy documentation
for files in astyle.html \
install.html \
news.html \
+178 -126
View File
@@ -1,8 +1,11 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Artistic Style</title>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
@@ -60,14 +63,17 @@
<button onclick="topFunction()" id="topBtn" title="Go to Contents"><b>Top</b></button>
<h1>Artistic Style 3.3</h1>
<h1>Artistic Style</h1>
<h2>
A Free, Fast, and Small Automatic Formatter<br />
for C, C++, C++/CLI, Objective-C, C#, and Java Source Code
for C, C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>, C#, and Java Source Code
</h2>
<h3 id="Contents">Contents</h3>
<div style="float: left; background-color: #fbfaef;padding: 2em;">
<h3 id="Contents" style="margin-top: 0em;">Contents</h3>
<p class="contents1">
<a href="#_General_Information">General&nbsp;Information</a></p>
@@ -111,7 +117,7 @@
<a class="contents" href="#_indent=spaces">indent=spaces</a>
<a class="contents" href="#_indent=tab">indent=tab</a>
<a class="contents" href="#_indent=force-tab">indent=force-tab</a>
<a class="contents" href="#_indent=force-tab-x">--indent=force-tab-x</a>
<a class="contents" href="#_indent=force-tab-x">indent=force-tab-x</a>
</p>
<p class="contents1">
<a href="#_Brace_Modify_Options">Brace&nbsp;Modify&nbsp;Options</a></p>
@@ -139,7 +145,7 @@
<a class="contents" href="#_indent-col1-comments">indent-col1-comments</a>
<a class="contents" href="#_min-conditional-indent">min-conditional-indent</a>
<a class="contents" href="#_max-continuation-indent">max-continuation-indent</a>
<a class="contents" href="#_lambda_indent">lambda-indent</a>
<a class="contents" href="#_indent_lambda">indent-lambda</a>
</p>
<p class="contents1">
@@ -149,13 +155,18 @@
<a class="contents" href="#_break-blocks=all">break-blocks=all</a>
<a class="contents" href="#_pad-oper">pad-oper</a>
<a class="contents" href="#_pad-comma">pad-comma</a>
<a class="contents" href="#_pad-negation">pad-negation</a>
<a class="contents" href="#_pad-include">pad-include</a>
<a class="contents" href="#_pad-paren">pad-paren</a>
<a class="contents" href="#_pad-paren-out">pad-paren-out</a>
<a class="contents" href="#_pad-first-paren-out">pad-first-paren-out</a>
<a class="contents" href="#_pad-paren-in">pad-paren-in</a>
<a class="contents" href="#_pad-header">pad-header</a>
<a class="contents" href="#_unpad-paren">unpad-paren</a>
<a class="contents" href="#_pad-empty-paren">pad-empty-paren</a>
<a class="contents" href="#_pad-brackets">pad-brackets</a>
<a class="contents" href="#_pad-brackets-in">pad-brackets-in</a>
<a class="contents" href="#_pad-brackets-out">pad-brackets-out</a>
<a class="contents" href="#_unpad-brackets">unpad-brackets</a>
<a class="contents" href="#_delete-empty-lines">delete-empty-lines</a>
<a class="contents" href="#_fill-empty-lines">fill-empty-lines</a>
@@ -185,7 +196,7 @@
<a class="contents" href="#_mode">mode</a>
</p>
<p class="contents1">
<a href="#_Objective_C_Options">Objective-C&nbsp;Options</a></p>
<a href="#_Objective_C_Options"><span style="white-space: nowrap;">Objective-C</span>&nbsp;Options</a></p>
<p class="contents2">
<a class="contents" href="#_pad-method-prefix">pad-method-prefix</a>
<a class="contents" href="#_unpad-method-prefix">unpad-method-prefix</a>
@@ -225,11 +236,10 @@
<a class="contents" href="#_stdin=">stdin=</a>
<a class="contents" href="#_stdout=">stdout=</a>
</p>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * General Information< * * * * * * * * * * * * -->
</div>
<div style="float: right; width: 65%; margin-top: 0em;">
<h3 id="_General_Information">General Information</h3>
@@ -243,7 +253,7 @@
<p>
Artistic Style will determine the file type from the file extension. The extension ".java" indicates a Java file,
and ".cs" indicates a C# file. Everything else is a C type file (C, C++, C++/CLI, or Objective-C). If you are
and ".cs" indicates a C# file. Everything else is a C type file (C, C++, C++/CLI, or <span style="white-space: nowrap;">Objective-C</span>). If you are
using a non-standard file extension for Java or C#, use one of the --mode= options.</p>
<h4>Wildcards and Recursion</h4>
@@ -324,11 +334,6 @@
from the definition. If you have source code with these types of statements, exclude them with the
<a href="#_exclude">exclude=####</a> option described in the <a href="#_Other_Options">Other Options</a>
section.</p>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * * Quick Start * * * * * * * * * * * * * * -->
<h3 id="_Quick_Start">Quick Start</h3>
@@ -352,11 +357,6 @@
the file name. </p>
<p>
Once you are familiar with the options you can customize the format to your personal preference.</p>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * * * Usage * * * * * * * * * * * * * * * -->
<h3 id="_Usage">Usage</h3>
@@ -399,7 +399,7 @@
<h4>Redirection</h4>
<p>
The < and > characters may be used to redirect the files into standard input (stdin) and out of standard output
The &lt; and &gt; characters may be used to redirect the files into standard input (stdin) and out of standard output
(stdout) - don't forget them! With this option, only one file at a time can be formatted. Wildcards are not
recognized, there are no console messages, and a backup is not created. On Windows, the output will always have
Windows line ends. The options "stdin=" and "stdout=" can be used instead of redirection.</p>
@@ -413,17 +413,13 @@
<pre>astyle --style=allman --stdin=<em>OriginalSourceFile</em> --stdout=<em>BeautifiedSourceFile</em>
</pre>
</div>
<div class="code">
<div class="code" style="margin-top:1em">
<p class="code">
The redirection option may be used to display the formatted file without updating:</p>
<pre>astyle --style=allman &lt; <em>OriginalSourceFile</em> | less
</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * * * Options * * * * * * * * * * * * * * * -->
<h3 id="_Options">Options</h3>
@@ -444,11 +440,6 @@
<p>
These options start with a single '<strong>-</strong>', and may be concatenated together.<br />
(Example: '-bps4' is the same as writing '-b -p -s4'.)</p>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * * Options File * * * * * * * * * * * * * * -->
<h3 id="_Option_Files">Option Files</h3>
@@ -515,12 +506,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
<span class="comment"># short options can be concatenated together</span>
-M60Ucv</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * Disable Formatting * * * * * * * * * * * * * -->
<h3 id="_Disable_Formatting">Disable Formatting</h3>
@@ -568,11 +553,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
The following prevents the operator padding from changing:</p>
<pre>size_t foo = (unsigned int) -1; <span class="comment">// *NOPAD*</span></pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * Basic Brace Styles * * * * * * * * * * * * -->
<h3 id="_Basic_Brace_Styles">Basic Brace Styles</h3>
@@ -598,12 +578,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
Style you can easily modify source code to suit your
preference.</p>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * Brace Style Options * * * * * * * * * * * * -->
<h3 id="_Brace_Style_Options">Brace Style Options</h3>
@@ -915,17 +889,12 @@ indent-switches <span class="comment"># cannot do this on the command line</
<div class="code">
<pre>int Foo(bool isBar) <span class="brace">{</span>
if (isBar) <span class="brace">{
</span> bar()
</span> bar();
return 1; <span class="brace">}
</span> else
return 0; <span class="brace">}</span>
</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * * * Tab Options * * * * * * * * * * * * * * * -->
<h3 id="_Tab_Options">Tab Options</h3>
@@ -1032,11 +1001,6 @@ indent-switches <span class="comment"># cannot do this on the command line</
<span class="brace">}</span>
</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * Brace Modify Options * * * * * * * * * * * * -->
<h3 id="_Brace_Modify_Options">Brace Modify Options</h3>
@@ -1128,11 +1092,6 @@ while x == 1;
<span class="brace">}</span> while x == 1;
</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * Indentation Options * * * * * * * * * * * * * -->
<h3 id="_Indentation_Options">Indentation Options</h3>
@@ -1544,8 +1503,8 @@ fooFunction(barArg1,
</pre>
</div>
<p id="_lambda_indent">
<code class="title">--lambda-indent</code><br />
<p id="_indent_lambda">
<code class="title">--indent-lambda</code><br />
This option improves indentation of C++ lambda functions. As it currently does not work well with complex lambda function bodies, this feature is not enabled by default.
</p>
@@ -1575,11 +1534,6 @@ fooFunction(barArg1,
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * Padding Options * * * * * * * * * * * * * -->
<h3 id="_Padding_Options">Padding Options</h3>
@@ -1670,6 +1624,77 @@ isBar = false;
bar(a, b);
</pre>
</div>
<p>
&nbsp;</p>
<p id="_pad-include">
<code class="title">--pad-include</code><br />
Insert space padding after include directives.
</p>
<div class="code">
<pre>#include&lt;stdio&gt;
#include&nbsp;&nbsp;&nbsp;&lt;iostream&gt;
</pre>
<p class="code">
becomes:</p>
<pre>#include &lt;stdio&gt;
#include &lt;iostream&gt;
</pre>
</div>
<p>
&nbsp;</p>
<p id="_pad-include">
<code class="title">--pad-include=none</code><br />
Insert space padding after include directives.
</p>
<div class="code">
<pre>#include&lt;stdio&gt;
#include&nbsp;&nbsp;&nbsp;&lt;iostream&gt;
</pre>
<p class="code">
becomes:</p>
<pre>#include&lt;stdio&gt;
#include&lt;iostream&gt;
</pre>
</div>
<p>
&nbsp;</p>
<p id="_pad-negation">
<code class="title">--pad-negation</code><br />
Insert space padding after negations.
</p>
<div class="code">
<pre>if (!isFoo(a,b))
bar(a,b);
</pre>
<p class="code">
becomes:</p>
<pre>if (! isFoo(a, b))
bar(a, b);
</pre>
</div>
<p>
&nbsp;</p>
<p id="_pad-negation">
<code class="title">--pad-negation=before</code><br />
Insert space padding also before negations.
</p>
<div class="code">
<pre>if (!isFoo(a,b))
bar(a,b);
</pre>
<p class="code">
becomes:</p>
<pre>if ( ! isFoo(a, b))
bar(a, b);
</pre>
</div>
<p>
&nbsp;</p>
<p id="_pad-paren">
@@ -1786,6 +1811,25 @@ isBar = false;
</div>
<p id="_pad-empty-paren">
<code class="title">--pad-empty-paren / -xo </code>
<br />
Apply padding to empty pairs of parentheses; combine with other
parentheses padding options.
</p>
<div class="code">
<pre>if (isFoo())
bar(a, b);
</pre>
<p class="code">
becomes:</p>
<pre>if ( isFoo () )
bar( a, b );
</pre>
</div>
<p>
&nbsp;</p>
<p id="_pad-brackets">
<code class="title">--pad-brackets</code>
<br />
@@ -1798,6 +1842,31 @@ isBar = false;
<pre>a = b [ a [ 1 ] ];</pre>
</div>
<p id="_pad-brackets-in">
<code class="title">--pad-brackets-in</code>
<br />
Insert space padding around square brackets the <strong>inside</strong> only.
</p>
<div class="code">
<pre>a = b[a[1]];</pre>
<p class="code">
becomes:</p>
<pre>a = b[ a[ 1 ] ];</pre>
</div>
<p id="_pad-brackets-out">
<code class="title">--pad-brackets-out</code>
<br />
Insert space padding around square brackets the <strong>outside</strong> only.
</p>
<div class="code">
<pre>a = b[a[1]];</pre>
<p class="code">
becomes:</p>
<pre>a = b [a [1]];</pre>
</div>
<p id="_unpad-brackets">
<code class="title">--unpad-brackets</code>
<br />
@@ -1916,7 +1985,7 @@ string ^s1;</pre>
char&amp; foo2;
string^ s1;</pre>
</div>
<div class="code">
<div class="code" style="margin-top:1em">
<pre>char* foo1;
char &amp; foo2;
string ^s1;</pre>
@@ -1926,7 +1995,7 @@ string ^s1;</pre>
char &amp; foo2;
string ^ s1;</pre>
</div>
<div class="code">
<div class="code" style="margin-top:1em">
<pre>char* foo1;
char &amp; foo2;
string ^s1;</pre>
@@ -1954,23 +2023,18 @@ string ^s1;</pre>
becomes (with align-reference=type):</p>
<pre>char&amp; foo1;</pre>
</div>
<div class="code">
<div class="code" style="margin-top:1em">
<pre>char&amp; foo2;</pre>
<p class="code">
becomes (with align-reference=middle):</p>
<pre>char &amp; foo2;</pre>
</div>
<div class="code">
<pre>char& foo3;</pre>
<div class="code" style="margin-top:1em">
<pre>char&amp; foo3;</pre>
<p class="code">
becomes (with align-reference=name):</p>
<pre>char &amp;foo3;</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * * Formatting Options * * * * * * * * * * * * * -->
<h3 id="_Formatting_Options">Formatting Options</h3>
@@ -2126,11 +2190,11 @@ else
<p>
&nbsp;</p>
<p id="_break-return-type">
<code class="title">--break-return-type &nbsp;&nbsp; / -xB</code><br />
<code class="title">--break-return-type &nbsp;&nbsp;&nbsp;&nbsp; / -xB</code><br />
<code class="title">--break-return-type-decl / -xD</code><br />
Break the return type from the function name. The two options are for the function definitions (-xB), and the
function declarations or signatures (-xD). If used with --attach-return-type, the result will be to break the
return type. This option has no effect on Objective-C functions.</p>
return type. This option has no effect on <span style="white-space: nowrap;">Objective-C</span> functions.</p>
<div class="code">
<pre>void Foo(bool isFoo);</pre>
<p class="code">
@@ -2141,12 +2205,12 @@ Foo(bool isFoo);</pre>
<p>
&nbsp;</p>
<p id="_attach-return-type">
<code class="title">--attach-return-type &nbsp;&nbsp; / -xf</code><br />
<code class="title">--attach-return-type &nbsp;&nbsp;&nbsp;&nbsp; / -xf</code><br />
<code class="title">--attach-return-type-decl / -xh</code><br />
Attach the return type to the function name. The two options are for the function definitions (-xf), and the
function declarations or signatures (-xh). They are intended to undo the --break-return-type options. If used
with --break-return-type, the result will be to break the return type. This option has no effect on
Objective-C functions.</p>
<span style="white-space: nowrap;">Objective-C</span> functions.</p>
<div class="code">
<pre>void
Foo(bool isFoo);</pre>
@@ -2268,28 +2332,28 @@ Foo(bool isFoo);</pre>
<code class="title">--mode=js</code><br />
<code class="title">--mode=java</code><br />
<code class="title">--mode=objc</code><br />
Indent a C type, C#, Javascript, Java or Objective-C file. C type files are C, C++, C++/CLI. The option is usually
set from the file extension for each file. You can override the setting with this entry. It will be used for all
files, regardless of the file extension. It allows the formatter to identify language specific syntax such as
C++ classes, templates, and keywords.</p>
<p>
&nbsp;</p>
<hr />
<code class="title">--mode=js <i>(experimental)</i></code><br />
<code class="title">--mode=ghc <i>(experimental)</i></code><br />
<code class="title">--mode=gsc <i>(experimental)</i></code><br />
Indent a C type, C#, Javascript, Java or <span style="white-space: nowrap;">Objective-C</span> file.
The other listed modes are experimental.<br>
C type files are C, C++, C++/CLI. The option is usually set from the file extension for each file.
You can override the setting with this entry. It will be used for all files, regardless of the file extension.
It allows the formatter to identify language specific syntax such as C++ classes, templates, and keywords.
</p>
<!-- * * * * * * * * * * * * * Objective-C Options * * * * * * * * * * * * * -->
<h3 id="_Objective_C_Options">Objective-C Options</h3>
<h3 id="_Objective_C_Options"><span style="white-space: nowrap;">Objective-C</span> Options</h3>
<p>
These options are effective for Objective-C files only. The standard paren padding options will still apply
to the Objective-C method prefix and return type unless overridden by the following options.</p>
These options are effective for <span style="white-space: nowrap;">Objective-C</span> files only. The standard paren padding options will still apply
to the <span style="white-space: nowrap;">Objective-C</span> method prefix and return type unless overridden by the following options.</p>
<p>
Because of the longer indents sometimes needed for Objective-C, the option "max-continuation-indent" may
Because of the longer indents sometimes needed for <span style="white-space: nowrap;">Objective-C</span>, the option "max-continuation-indent" may
need to be increased. If you are not getting the paren and square bracket alignment you want, try increasing
this value. The option is described in the "Indentation Options" section.</p>
<p id="_pad-method-prefix">
<code class="title">--pad-method-prefix / -xQ</code><br />
Insert space padding <strong>after</strong> the '-' or '+' Objective-C method prefix. This will add
Insert space padding <strong>after</strong> the '-' or '+' <span style="white-space: nowrap;">Objective-C</span> method prefix. This will add
exactly one space. Any additional spaces will be deleted.</p>
<div class="code">
<pre>-(void)foo1;
@@ -2303,7 +2367,7 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_unpad-method-prefix">
<code class="title">--unpad-method-prefix / -xR</code><br />
Remove all space padding <strong>after</strong> the &#39;-&#39; or &#39;+&#39; Objective-C method prefix.&nbsp;
Remove all space padding <strong>after</strong> the &#39;-&#39; or &#39;+&#39; <span style="white-space: nowrap;">Objective-C</span> method prefix.&nbsp;
This option will be ignored if used with pad-method-prefix. This option takes precedence over the
pad paren outside option.</p>
<div class="code">
@@ -2318,7 +2382,7 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_pad-return-type">
<code class="title">--pad-return-type / -xq</code><br />
Insert space padding <strong>after</strong> the Objective-C return type. This will add exactly one
Insert space padding <strong>after</strong> the <span style="white-space: nowrap;">Objective-C</span> return type. This will add exactly one
space. Any additional spaces will be deleted. </p>
<div class="code">
<pre>-(void)foo1;
@@ -2332,7 +2396,7 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_unpad-return-type">
<code class="title">--unpad-return-type / -xr</code><br />
Remove all space padding <strong>after</strong> the Objective-C return type. This option
Remove all space padding <strong>after</strong> the <span style="white-space: nowrap;">Objective-C</span> return type. This option
will be ignored if used with pad-return-type. This option takes precedence over the pad paren
outside option. </p>
<div class="code">
@@ -2347,7 +2411,7 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_pad-param-type">
<code class="title">--pad-param-type / -xS</code><br />
Insert space padding around an Objective-C parameter type. This will add exactly
Insert space padding around an <span style="white-space: nowrap;">Objective-C</span> parameter type. This will add exactly
one space. Any additional spaces will be deleted. This has precedence over the pad method colon option and
will always cause space padding after a method colon.</p>
<div class="code">
@@ -2362,7 +2426,7 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_unpad-param-type">
<code class="title">--unpad-param-type / -xs</code><br />
Remove all space padding around an Objective-C parameter type. This option takes precedence over the
Remove all space padding around an <span style="white-space: nowrap;">Objective-C</span> parameter type. This option takes precedence over the
pad paren outside option. The pad method colon option has precedence over the <strong>opening</strong> paren.
The closing paren will always be unpadded.</p>
<div class="code">
@@ -2382,7 +2446,7 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_align-method-colon">
<code class="title">--align-method-colon / -xM</code><br />
Align the colons in Objective-C method declarations
Align the colons in <span style="white-space: nowrap;">Objective-C</span> method declarations
and method calls. If this option is not declared, method definitions will be indented uniformly, and method calls
will align with the first keyword.</p>
<div class="code">
@@ -2420,11 +2484,11 @@ Foo(bool isFoo);</pre>
&nbsp;</p>
<p id="_pad-method-colon">
<code class="title">--pad-method-colon=none&nbsp;&nbsp; / -xP0<br />
--pad-method-colon=all / -xP1<br />
--pad-method-colon=all&nbsp;&nbsp;&nbsp; / -xP1<br />
--pad-method-colon=after&nbsp; / -xP2<br />
--pad-method-colon=before / -xP3
</code><br />
Add or remove space padding before or after the colons in an Objective-C method call. These options will
Add or remove space padding before or after the colons in an <span style="white-space: nowrap;">Objective-C</span> method call. These options will
pad exactly one space. Any additional spaces will be deleted. The space padding after the method colon can be
overridden by pad-param-type.</p>
<div class="code">
@@ -2441,11 +2505,6 @@ Foo(bool isFoo);</pre>
with pad-method-colon=before:</p>
<pre>-(void)insertKey :(id)key;</pre>
</div>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * Other Command Line Options * * * * * * * * * * * * -->
<h3 id="_Other_Options">Other Options</h3>
@@ -2529,11 +2588,6 @@ Foo(bool isFoo);</pre>
<p>
When <strong>redirection</strong> is used on Windows the output will always have Windows line ends. This option
will be ignored.</p>
<p>
&nbsp;</p>
<hr />
<!-- * * * * * * * * * * * * Command-Line Options * * * * * * * * * * * * -->
<h3 id="_Command_Line_Only">Command Line Only</h3>
@@ -2605,15 +2659,13 @@ Foo(bool isFoo);</pre>
<code class="title">--stdout=<span class="option">####</span></code><br />
Open a file using the file path #### as output from single file formatting. This is a replacement for redirection.
Do not use this with "&gt;" redirection.</p>
<p>
&nbsp;</p>
<hr />
<p >
<a href="http://sourceforge.net/projects/astyle">
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" />
</a></p>
</div>
</body>
+9 -9
View File
@@ -18,7 +18,7 @@
<p class="noindent">
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical
User Interface (GUI). The shared library can be called from a C++, Objective&#8209;C, C#, or Python program. There
User Interface (GUI). The shared library can be called from a C++, <span style="white-space: nowrap;">Objective-C</span>, C#, or Python program. There
are also compile options for a Java Native Interface (JNI) that allows it to be called from a Java program. Information
on compiling the various configurations of Artistic Style is in the Install Information.</p>
<p class="noindent">
@@ -43,12 +43,12 @@
as a shared or static library from a C++ program. It includes a C++ sample program that can be used to test the
Artistic Style libraries.</p>
<p>
<a href="https://astyle.sourceforge.net/develop/objc.html">Calling Artistic Style from an Objective-C Program</a> contains information on calling Artistic
Style as a shared or static library from an Objective-C program. It includes an Objective-C sample program that
<a href="https://astyle.sourceforge.net/develop/objc.html">Calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span> Program</a> contains information on calling Artistic
Style as a shared or static library from an <span style="white-space: nowrap;">Objective-C</span> program. It includes an <span style="white-space: nowrap;">Objective-C</span> sample program that
can be used to test the Artistic Style shared libraries.</p>
<p style="margin-left: 0.5in;">
<a href="https://astyle.sourceforge.net/develop/gnustep.html">Objective&#8209;C on Windows and Linux</a> contains information on compiling and running
Objective-C programs using GNUstep. It has instructions for compiling the Example program on Windows or
<a href="https://astyle.sourceforge.net/develop/gnustep.html"><span style="white-space: nowrap;">Objective-C</span> on Windows and Linux</a> contains information on compiling and running
<span style="white-space: nowrap;">Objective-C</span> programs using GNUstep. It has instructions for compiling the Example program on Windows or
Linux.</p>
<p>
<a href="https://astyle.sourceforge.net/develop/jni.html">Calling Artistic Style as a Java Native Interface</a> contains information on calling Artistic
@@ -92,13 +92,13 @@
<h4>
<a href="https://sourceforge.net/projects/astyle/files/OldFiles/examples/example-objc.zip" target="_blank"
title="open new window">Objective&#8209;C Example</a>
title="open new window"><span style="white-space: nowrap;">Objective-C</span> Example</a>
</h4>
<p>
The example for Objective&#8209;C contains the methods to call Artistic Style from a static or shared library
using an Objective&#8209;C program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
Copy the shared library to the same folder as the Objective&#8209;C Example executable. It will format files in
The example for <span style="white-space: nowrap;">Objective-C</span> contains the methods to call Artistic Style from a static or shared library
using an <span style="white-space: nowrap;">Objective-C</span> program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
Copy the shared library to the same folder as the <span style="white-space: nowrap;">Objective-C</span> Example executable. It will format files in
the test&#8209;data directory included in the download.</p>
<h4>
+22 -11
View File
@@ -1,24 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<title>Artistic Style - Index</title>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>Artistic Style - Index</title>
</head>
<body>
<!-- body text -->
<h1>Artistic Style 3.2</h1>
<h1>Artistic Style</h1>
<h2>
A Free, Fast, and Small Automatic Formatter<br />
for C, C++, C++/CLI, Objective C, C#, and Java Source Code
for C, C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>, C#, and Java Source Code
</h2>
<center>
@@ -36,13 +41,19 @@
<td>SourceForge:</td>
<td><a href="http://sourceforge.net/projects/astyle/">http://sourceforge.net/projects/astyle/</a></td>
</tr>
<tr>
<td>
<img src="folder-green-git.ico" alt="" /></td>
<td>Source code:</td>
<td><a href="https://gitlab.com/saalen/astyle">https://gitlab.com/saalen/astyle</a></td>
</tr>
</tbody>
</table>
</center>
<p class="noindent" style="margin-top: 2em">
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective&#8209;C,
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>,
C# and Java programming languages. Written in C++, it can be used from the command line or incorporated as
a library in another program. Options can be entered from the command line or from an option file. The library
version can be called from programs written in languages other that C++.</p>
@@ -121,7 +132,7 @@
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical
User Interface (GUI). With the Java Development Kit (JDK) installed it can be compiled as a Java Native Interface
(JNI) and called from a Java program. The Developer Information documents the calling procedure and has example
programs for C++, C++/CLI, Objective&#8209;C, Java, C#, and Python.</p>
programs for C++, C++/CLI, <span style="white-space: nowrap;">Objective-C</span>, Java, C#, and Python.</p>
<h3>Bug Reports, Change Requests, Update Notifications</h3>
+23 -20
View File
@@ -1,23 +1,26 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<title>Artistic Style - Install Information</title>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>Artistic Style - Installation</title>
</head>
<body>
<h1>Artistic Style Install Information</h1>
<p>
&nbsp;</p>
<div style="float: left; background-color: #fbfaef;padding: 2em;">
<h3 id="Contents">Contents</h3>
<h3 id="Contents" style="margin-top: 0em;">Contents</h3>
<p class="contents1">
<a class="contents" href="#_Artistic_Style_Versions">Artistic Style Versions</a></p>
@@ -60,8 +63,11 @@
<p class="contents2">
<a class="contents" href="#_PIP">Python PIP</a></p>
</div>
<h3 id="_Artistic_Style_Versions">Artistic Style Versions</h3>
<div style="float: right; width: 65%; margin-top: 0em;">
<h3 id="_Artistic_Style_Versions" style="margin-top: 1em;">Artistic Style Versions</h3>
<p>
astyle_x.x_linux.tar.gz is the <strong>Linux </strong>version of Artistic Style. It contains the source code,
@@ -213,7 +219,7 @@ make install</pre>
<h4 id="_Clang_Makefile">Clang Makefile</h4>
<p>
Clang has a static analyzer that finds potential bugs in C/C++ and Objective-C programs. It can be run as a standalone
Clang has a static analyzer that finds potential bugs in C/C++ and <span style="white-space: nowrap;">Objective-C</span> programs. It can be run as a standalone
tool from the command-line and runs in tandem with a build. There is a script file, analyze.sh, that will run
the analysis on Artistic Style.</p>
<p>
@@ -328,7 +334,7 @@ make install</pre>
<li><strong>AStyleA</strong> builds the Artistic Style program as a Static Library (libastyle.a). This can be statically
linked with an executable.</li>
<li><strong>AStyleDylib</strong> builds the Artistic Style program as a Dynamic Library (libastyle.dylib). It can
be used with C/C++, Objective C, C#, and Python programs.</li>
be used with C/C++, <span style="white-space: nowrap;">Objective-C</span>, C#, and Python programs.</li>
<li><strong>AStyleJava</strong> builds the Artistic Style program as a Dynamic Library (libastylej.dylib) that can
be called from a Java program. The Java Development (JDK) is required for the project to compile. The Project
Properties must have an include path to the JDK include directory. The output dylib can also be called from a
@@ -602,10 +608,7 @@ mingw32-make</pre>
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" />
</a></p>
<p>
&nbsp;</p>
<p>
&nbsp;</p>
</div>
</body>
+13 -15
View File
@@ -1,22 +1,24 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<title>Artistic Style - Links</title>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>Artistic Style - Links</title>
</head>
<body>
<h1>Artistic Style Links</h1>
<p>
&nbsp;</p>
<h3>Programs Using Artistic Style</h3>
<p>
@@ -216,15 +218,11 @@
toolset v100). Visual Studio 2012 (platform toolset v110) and higher contains dependencies on Windows API functions
that exist only on Windows Vista, Windows 7, and Windows 8. This means that applications built with Visual Studio
2012 and higher would fail to load and execute on Windows XP.</p>
<p>
&nbsp;</p>
<p style="margin-left: -0.4in; text-align: center;">
<a href="http://sourceforge.net/projects/astyle">
<img src="http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=16" alt="" /></a></p>
<p>
&nbsp;</p>
</body>
</html>
+607 -599
View File
File diff suppressed because it is too large Load Diff
+24 -24
View File
@@ -23,13 +23,13 @@
With a new Artistic Style release some unchanged source files will be formatted because of changes to Artistic
Style. You may want to format your source before making program changes in order to bring it up to date.</p>
<p>
A new programming language, Objective&#8209;C, has been added to Artistic Style. Four new options, "align&#8209;method&#8209;colon",
A new programming language, <span style="white-space: nowrap;">Objective-C</span>, has been added to Artistic Style. Four new options, "align&#8209;method&#8209;colon",
"pad&#8209;method&#8209;colon=", "pad&#8209;method&#8209;prefix", and "unpad&#8209;method&#8209;prefix" have been
added to format the methods. The options are described in a new "Objective&#8209;C" section in the documentation.
These new options affect only Objective&#8209;C source code. They have no effect on the other programming
added to format the methods. The options are described in a new "<span style="white-space: nowrap;">Objective-C</span>" section in the documentation.
These new options affect only <span style="white-space: nowrap;">Objective-C</span> source code. They have no effect on the other programming
languages.</p>
<p>
Because of the longer continuation indents sometimes needed for Objective&#8209;C, the option "max-instatement-indent"
Because of the longer continuation indents sometimes needed for <span style="white-space: nowrap;">Objective-C</span>, the option "max-instatement-indent"
may need to be increased. If you are not getting the paren and block paren alignment you want, try increasing
this value. The default minimum is 40 and the maximum is 120.</p>
<p>
@@ -87,11 +87,11 @@
The "Links" page has two new sections for links mentioned in previous versions of Artistic Style. It links to
free software and other information.</p>
<p>
The "Developer Information" section has a new example and download for calling Artistic Style from an Objective&#8209;C
The "Developer Information" section has a new example and download for calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span>
program. Since it is another "C" language the only thing needed is to link the program with a library build of
Artistic Style. The example was developed on Windows and Linux using the GNUstep project. Since the example is
a console program the problems with the GNUstep GUI have been avoided. It has not been tested on a Mac, but should
be close to working. The "Developer Information" section also has a new page for "Objective&#8209;C on Windows
be close to working. The "Developer Information" section also has a new page for "<span style="white-space: nowrap;">Objective-C</span> on Windows
and Linux" which has information on compiling and running the example on those systems.</p>
<p>
The executable included in the Windows distribution was compiled with Visual Studio 2010 (platform toolset v100).
@@ -209,7 +209,7 @@
This bug fix release is issued because of the length of time required for the some of the changes in the next
release (2.03). Bugs with the breaking of "case" statements and a crash with pointer to pointer (**) in align-pointer=type
have been fixed. The "case" statements that have been incorrectly broken will be fixed in this release. Pointers
and references are now processed for C# files. See the "Release Notes" for more information and additional
and references are now processed for C# files. See the "Release Notes" for more information and additional
changes.</p>
<h4><strong>The following information is for the original 2.02 release.</strong></h4>
@@ -229,8 +229,8 @@
must be input from the command line and not an option file. See the documentation for details.</p>
<p>
The translations were mostly done with an automated translation program, Google Translate, so they may not be
the best translation possible. The translations are at the end of ASLocalizer.cpp in the form of an
English&#8209;Translation pair. If you correct a translation, send the source as a bug report and it will be
the best translation possible. The translations are at the end of ASLocalizer.cpp in the form of an
English&#8209;Translation pair. If you correct a translation, send the source as a bug report and it will be
included in the next release.</p>
<p>
To add a language, add a new translation class to ASLocalizer.h. Add the English&#8209;Translation pair to the
@@ -270,15 +270,15 @@
of containing no uninformative lines. Like Pico, it is also a very compact style.</p>
<p>
The option "brackets=horstmann" has been removed. Instead use "style=horstmann" or "A9". The short option "g"
is now equivalent to the new "brackets=run-in". Run-in brackets are used for both Horstmann and Pico
is now equivalent to the new "brackets=run-in". Run-in brackets are used for both Horstmann and Pico
styles.</p>
<p>
The option "indent-brackets" and short option "B" have been removed. Instead use "style=whitesmith" or
The option "indent-brackets" and short option "B" have been removed. Instead use "style=whitesmith" or
"style=banner".</p>
<p>
The option "indent-blocks" and short option "G" have been removed. Instead use "style=gnu".</p>
<p>
Two new options, "style=break" and "style=attach", have been added for Allman and Java bracket styles
Two new options, "style=break" and "style=attach", have been added for Allman and Java bracket styles
respectively.</p>
<h4>Other Changes</h4>
@@ -399,7 +399,7 @@
is no change necessary to the input. Otherwise, check the documentation for the new codes.</p>
<p>
The --style=linux has been changed to ALWAYS use a minimum conditional indent of one-half the indent length. This
is in the style definition and cannot be changed. If you do not want this setting use the K&amp;R style
is in the style definition and cannot be changed. If you do not want this setting use the K&amp;R style
instead.</p>
<p>
The MFC macros BEGIN_DISPATCH_MAP, BEGIN_EVENT_MAP, and BEGIN_PROPPAGEIDS are now formatted.</p>
@@ -518,7 +518,7 @@
should result in a noticeable speed improvement.</p>
<p>
Checks for the maximum in-statement indent have been fixed. The indent for some long continuation lines may be
decreased. If you want the previous indentation, increase the &#8209;&#8209;max&#8209;in&#8209;statement
decreased. If you want the previous indentation, increase the &#8209;&#8209;max&#8209;in&#8209;statement
option.</p>
<p>
Occasionally, someone will use Artistic Style to format a file encoded with UTF-16 or UTF-32 bit encoding. These
@@ -529,7 +529,7 @@
of Unicode encodings", "Compatibility issues".</p>
<p>
The Artistic Style documentation has been changed to include a new "Padding Options" section. The padding options
were previously in the "Formatting Options" section. This was done to allow space for additional options in
were previously in the "Formatting Options" section. This was done to allow space for additional options in
GUIs.</p>
<p>
The Scripts page has a couple of new scripts, including a "clean" script in python.</p>
@@ -669,7 +669,7 @@
and Emacs does not have the style. <strong>Artistic Style uses an extra indent for switch blocks and C++ class blocks
for both Whitesmith and Banner styles.</strong> This provides the best appearance in defining the style. If
a different format is wanted, use the individual options instead of the predefined style. You can try indent&#8209;brackets,
indent&#8209;classes, and indent&#8209;swiches on a class or switch block to see the results.</p>
indent&#8209;classes, and indent&#8209;switches on a class or switch block to see the results.</p>
<p>
The GNU style and indent&#8209;blocks option have been changed to indent only the blocks within a function body.
The opening bracket for namespaces and classes is no longer indented. The opening bracket for functions remains
@@ -794,13 +794,13 @@
The OpenVMS distribution is prepared by Jim Duff, an OpenVMS Systems Specialist living in Sydney, Australia. His
website is eight&#8209;cubed.com.</p>
<p>
Thanks to Eran Ifrah and Max Horn for their contributions. Travis Robinson wrote the original C# interface
Thanks to Eran Ifrah and Max Horn for their contributions. Travis Robinson wrote the original C# interface
program.</p>
<h4>Developers</h4>
<p>
There is a new page in the Developer Information that has an example of calling Artistic Style from a C#
There is a new page in the Developer Information that has an example of calling Artistic Style from a C#
program.</p>
<p>
There was an omission in the peekNextLine function added in the last release which causes it to bypass empty lines.
@@ -815,7 +815,7 @@
<p>
The predefined style options will now override all other options. The order of entry does not matter as in previous
versions. This will be done even if astyle_main is not used by your system. This was done by moving the checks
from astyle_main to ASFormatter. The procedure is in the function fixOptionVariableConflicts in
from astyle_main to ASFormatter. The procedure is in the function fixOptionVariableConflicts in
ASFormatter.</p>
<p>
The predefined style options now define only the bracket placement and sometimes the spaces per tab. This will
@@ -824,7 +824,7 @@
The conflicts will be resolved by the fixOptionVariableConflicts function which is called after all options have
been processed. All you need to do is set the options selected by the user.</p>
<p>
The Artistic Style for Windows program has been updated to support the current release. It is available at
The Artistic Style for Windows program has been updated to support the current release. It is available at
jimp03.zxq.net</p>
<p>
I apologize for the unplanned changes this may add to your system. But Artistic Style is starting to mature as
@@ -869,7 +869,7 @@
<p>
When processing directories recursively it is sometimes necessary to exclude certain files or directories. This
can be done using a new exclude (&#8209;&#8209;exclude=file&#8209;or&#8209;directory) option. There is no short
option. Multiple exclude statements are allowed. The Other Options section of the documentation contains the
option. Multiple exclude statements are allowed. The Other Options section of the documentation contains the
details.</p>
<p>
It is always a good idea to create a backup for files that have been formatted. This can cause a problem in that
@@ -964,7 +964,7 @@
There is now a distribution package for OpenVMS thanks to Jim Duff, an OpenVMS Systems Specialist living in Sydney
Australia. His website is at eight-cubed.com.</p>
<p>
Thanks to Norbert Holzki and Siemens AG, Medical Solutions, Forchheim, Germany for testing the array
Thanks to Norbert Holzki and Siemens AG, Medical Solutions, Forchheim, Germany for testing the array
formatting.</p>
<p>
Thanks to Sam Cooler for testing the Mac OS X version.</p>
@@ -996,7 +996,7 @@
<p>
There is a sample GUI program for Windows available at http://jimp03.zxq.net/. It uses the unmodified Artistic
Style compiled for a GUI. The source code needs some work so it is not available for now. It should work under
Linux using WINE. Future enhancements and platform support will depend on the response to the sample
Linux using WINE. Future enhancements and platform support will depend on the response to the sample
program.</p>
<p>
To support the new Artistic Style preprocessor option there are new makefiles and project files. Windows users
@@ -1024,7 +1024,7 @@
A new option, unpad=paren, was added. This will undo the pad=paren, pad=paren-out and pad=paren-in options. It
can be used alone or with pad=paren-out or pad=paren-in. If used alone it will unpad all parens that have been
previously padded. If used with a paren padding option, the paren padding option will take precedence and only
the unnecessary padding will be removed. This will enable the paren padding to be changed in one formatting
the unnecessary padding will be removed. This will enable the paren padding to be changed in one formatting
run.</p>
<p>
Padding to paren headers (e.g. "if", "for", "while") was reinstated. This was done in previous releases if pad=oper
+166 -36
View File
@@ -1,47 +1,177 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<!doctype html>
<html lang="en">
<head>
<title>Artistic Style - Release Notes</title>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link href="styles.css" rel="stylesheet" type="text/css" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>Artistic Style - Release notes</title>
</head>
<body>
<h1>Artistic Style Release Notes</h1>
<h3>Artistic Style 3.6 (August 2024)</h3>
<ul>
<li>Add option --pad-include (https://sourceforge.net/p/astyle/tickets/117/)</li>
<li>combined GHC and GSC style options</li>
<li>improve combination of --align-pointer=type and --pad-oper (https://sourceforge.net/p/astyle/tickets/578/)</li>
<li>improve multiplication recognition with --align-pointer=type (https://sourceforge.net/p/astyle/tickets/572/)</li>
<li>update compiler options in build files</li>
<li>fix indent of assignments within macros ( https://gitlab.com/saalen/astyle/-/issues/47)</li>
</ul>
<h3>Artistic Style 3.5.2 (July 2024)</h3>
<ul>
<li>Fix library compilation errors (https://gitlab.com/saalen/astyle/-/issues/48)</li>
</ul>
<h3>Artistic Style 3.5.1 (June 2024)</h3>
<ul>
<li>Fix crash concerning macro continuation (https://sourceforge.net/p/astyle/bugs/574)</li>
<li>Fix EOL handling for Windows builds (https://gitlab.com/saalen/astyle/-/issues/43)</li>
<li>Fix GSC comment recognition (https://gitlab.com/saalen/astyle/-/issues/46)</li>
<li>Fix MSVC compiler warnings (https://sourceforge.net/p/astyle/bugs/575)</li>
</ul>
<h3>Artistic Style 3.5 (June 2024)</h3>
<ul>
<li>Add option --pad-negation (https://sourceforge.net/p/astyle/bugs/571)</li>
<li>Apply align-pointer=type only if type is present (https://sourceforge.net/p/astyle/bugs/573)</li>
<li>Avoid deletion of empty lines after continuation (https://sourceforge.net/p/astyle/bugs/574)</li>
<li>Fix alignment of logical AND operators (https://sourceforge.net/p/astyle/bugs/572)</li>
<li>Fix recognition of Java/C# multi line strings (https://gitlab.com/saalen/astyle/-/issues/42)</li>
</ul>
<h3>Artistic Style 3.4.16 (May 2024)</h3>
<ul>
<li>Fix padding of scientific notation literals (#570)</li>
<li>Fix of reference args alignment (https://gitlab.com/saalen/astyle/-/issues/35)</li>
</ul>
<h3>Artistic Style 3.4.15 (May 2024)</h3>
<ul>
<li>Fix parsing of floating point literals (#566)</li>
<li>Fix "--break-block" handling of class and function blocks (#569)</li>
<li>Fix "--align-pointer=type" option for all types in lambda parameter lists (https://gitlab.com/saalen/astyle/-/issues/35)</li>
<li>Fix padding of lambda capture with align-pointer option</li>
<li>Exclude files ending with backup suffix from input file names list (#560)</li>
</ul>
<h3>Artistic Style 3.4.14 (April 2024)</h3>
<ul>
<li>Fix split references with "-k1" option (#565)</li>
<li>Fix "--align-pointer=type" option for fundamental types in lambda parameter lists (https://gitlab.com/saalen/astyle/-/issues/35)</li>
<li>Fix "--indent-after-parens" indent count (https://gitlab.com/saalen/astyle/-/issues/29)</li>
</ul>
<h3>Artistic Style 3.4.13 (March 2024)</h3>
<ul>
<li>Fix comment indent after string macro with R suffix (https://gitlab.com/saalen/astyle/-/issues/39)</li>
<li>Do not break single line block after enum in mozilla mode (https://gitlab.com/saalen/astyle/-/issues/38)</li>
<li>Adjust cmake policy for new versions only (https://gitlab.com/saalen/astyle/-/issues/40)</li>
<li>Update man page path</li>
<li>Add support for scikit-build-core</li>
</ul>
<h3>Artistic Style 3.4.12 (February 2024)</h3>
<ul>
<li>Add "--pad-brackets-in" and "--pad-brackets-out" options (https://gitlab.com/saalen/astyle/-/issues/33)</li>
<li>Fix indentation of initializer lists (https://gitlab.com/saalen/astyle/-/issues/28)</li>
<li>Fix crash with "--add-braces=nested" applied to if-else blocks (https://gitlab.com/saalen/astyle/-/issues/36)</li>
</ul>
<h3>Artistic Style 3.4.11 (January 2024)</h3>
<ul>
<li>Add new option "--add-braces=nested" to add braces in nested single line statements (https://gitlab.com/saalen/astyle/-/issues/27)</li>
<li>Fix indent after double template brackets (https://gitlab.com/saalen/astyle/-/issues/28)</li>
<li>Fix indent after dot (https://gitlab.com/saalen/astyle/-/issues/28)</li>
<li>Option "--squeeze-lines=1" is no longer default with Linux builds (#559)</li>
<li>Add experimental GHC mode (https://gitlab.com/saalen/astyle/-/issues/31)</li>
<li>Fix indent after raw string (https://gitlab.com/saalen/astyle/-/issues/32)</li>
</ul>
<h3>Artistic Style 3.4.10 (October 2023)</h3>
<ul>
<li>Fix missing indent in function parameter list (https://gitlab.com/saalen/astyle/-/issues/16)</li>
</ul>
<h3>Artistic Style 3.4.9 (October 2023)</h3>
<ul>
<li>Apply one wording for <span style="white-space: nowrap;">Objective-C</span> in the docs</li>
<li>Fix more CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)</li>
<li>Fix inserting space with combined "--pad-oper" and "--align-pointer" options (#557)</li>
</ul>
<h3>Artistic Style 3.4.8 (September 2023)</h3>
<ul>
<li>Fix lambda broken brace after auto keyword (#554)</li>
<li>Fix line break after comment in asm block (#226)</li>
<li>Fix padding of multiply operator (#126)</li>
<li>Fix indentation of method calls (#434)</li>
<li>Fix empty line after closing while block (https://gitlab.com/saalen/astyle/-/issues/18)</li>
<li>Add outer padding for empty parens pairs (https://gitlab.com/saalen/astyle/-/issues/19) </li>
<li>Fix more CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)</li>
</ul>
<h3>Artistic Style 3.4.6 (August 2023)</h3>
<ul>
<li>Add VS2022 project files (https://gitlab.com/saalen/astyle/-/merge_requests/3)</li>
<li>Fix CS regressions (https://gitlab.com/saalen/astyle/-/issues/16)</li>
<li>Add CS coalesce assignment operator (https://gitlab.com/saalen/astyle/-/issues/17)</li>
</ul>
<h3>Artistic Style 3.4.1 (August 2023)</h3>
<ul>
<li>Fix padding of &amp; following a comma (#552)</li>
<li>Fix indent of function declarations following access modifiers (#504)</li>
<li>Fix indent of C# allocation blocks (#464)</li>
<li>Fix indentation of comments after CS interpolation quotes (https://gitlab.com/saalen/astyle/-/issues/16)</li>
</ul>
<h3>Artistic Style 3.4 (June 2023)</h3>
<ul>
<li>fixed formatting of CS interpolation literals (https://gitlab.com/saalen/astyle/-/issues/8).</li>
<li>fixed false lambda recognition (https://gitlab.com/saalen/astyle/-/issues/11)</li>
<li>fixed indentation of member declarations (https://gitlab.com/saalen/astyle/-/issues/10)</li>
<li>fixed indentation of struct assignments (https://gitlab.com/saalen/astyle/-/issues/12)</li>
<li>added new option "--indent-lambda" to to enable new lambda recognition (https://gitlab.com/saalen/astyle/-/issues/7)</li>
<li>added link to astyle Python distribution projects (https://gitlab.com/saalen/astyle/-/issues/6)</li>
<li>Fix formatting of CS interpolation literals (https://gitlab.com/saalen/astyle/-/issues/8).</li>
<li>Fix false lambda recognition (https://gitlab.com/saalen/astyle/-/issues/11)</li>
<li>Fix indentation of member declarations (https://gitlab.com/saalen/astyle/-/issues/10)</li>
<li>Fix indentation of struct assignments (https://gitlab.com/saalen/astyle/-/issues/12)</li>
<li>Add new option "--indent-lambda" to enable new lambda recognition (https://gitlab.com/saalen/astyle/-/issues/7)</li>
<li>Add link to astyle Python distribution projects (https://gitlab.com/saalen/astyle/-/issues/6)</li>
</ul>
<h3>Artistic Style 3.3 (May 2023)</h3>
<ul>
<li>added new option "--squeeze-ws" to remove superfluous whitespace (experimental)</li>
<li>added new option "--squeeze-lines" to remove superfluous empty lines (experimental, #19, #22, #43, #72, #84, #93, #105, #517)</li>
<li>added new options "--pad-brackets" and "--unpad-brackets" to add or remove whitespace around square brackets (experimental)</li>
<li>fixed indent of lambda bodies in fct calls (#121)</li>
<li>fixed indent of struct names including &quot;struct&quot; (#526)</li>
<li>fixed indent of C++11 initializer lists (#516)</li>
<li>fixed padding of pointers separated by comma (#537)</li>
<li>refactored namespace std usage</li>
<li>Add new option "--squeeze-ws" to remove superfluous whitespace (experimental)</li>
<li>Add new option "--squeeze-lines" to remove superfluous empty lines (experimental, #19, #22, #43, #72, #84, #93, #105, #517)</li>
<li>Add new options "--pad-brackets" and "--unpad-brackets" to add or remove whitespace around square brackets (experimental)</li>
<li>Fix indent of lambda bodies in fct calls (#121)</li>
<li>Fix indent of struct names including &quot;struct&quot; (#526)</li>
<li>Fix indent of C++11 initializer lists (#516)</li>
<li>Fix padding of pointers separated by comma (#537)</li>
<li>Refactor namespace std usage</li>
</ul>
<h3>Artistic Style 3.2.1 (March 2023)</h3>
<ul>
<li>fixed struct recognition related to SF #534 (https://gitlab.com/saalen/astyle/-/issues/1)</li>
<li>Fix struct recognition related to SF #534 (https://gitlab.com/saalen/astyle/-/issues/1)</li>
</ul>
<h3>Artistic Style 3.2 (March 2023)</h3>
@@ -113,12 +243,12 @@
<li>Fix indentation of compound literals in an argument list (#456).</li>
<li>Fix indentation of trailing return type method following a constructor (#463).</li>
<li>Fix space padding of closing brace before a dot (#468).</li>
<li>Fix Objective-C to allow for &quot;Extern C&quot; statements in the source files (#443, 444, 446).</li>
<li>Fix Objective-C to allow for method definitions without a specified return type (#447).</li>
<li>Fix Objective-C to allow for method definitions with multiple param types.</li>
<li>Fix Objective-C to replace tabbed padding with a space.</li>
<li>Fix Objective-C formatting of line-end comments with &quot;unpad-return-type&quot;.</li>
<li>Fix Objective-C &quot;align-method-colon&quot; to ignore ternary (?) operators.</li>
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to allow for &quot;Extern C&quot; statements in the source files (#443, 444, 446).</li>
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to allow for method definitions without a specified return type (#447).</li>
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to allow for method definitions with multiple param types.</li>
<li>Fix <span style="white-space: nowrap;">Objective-C</span> to replace tabbed padding with a space.</li>
<li>Fix <span style="white-space: nowrap;">Objective-C</span> formatting of line-end comments with &quot;unpad-return-type&quot;.</li>
<li>Fix <span style="white-space: nowrap;">Objective-C</span> &quot;align-method-colon&quot; to ignore ternary (?) operators.</li>
<li>Fix C# base class constructor indentation (#459).</li>
<li>Fix C# indentation of method declaration containing a colon (#465)</li>
<li>Fix C/C++ to allow &quot;interface&quot; as a non-keyword (#445).</li>
@@ -190,13 +320,13 @@
<li>Add new option &quot;indent-continuation&quot;.</li>
<li>Add new option &quot;pad-comma&quot; (#100).</li>
<li>Add removing spaces before a comma (#100).</li>
<li>Add new Objective&#8209;C options "pad-return-type" (-xq) and "unpad-return-type" (-xr).</li>
<li>Add new Objective&#8209;C options "pad-param-type" (-xS) and "unpad-param-type" (-xs).</li>
<li>Add new <span style="white-space: nowrap;">Objective-C</span> options "pad-return-type" (-xq) and "unpad-return-type" (-xr).</li>
<li>Add new <span style="white-space: nowrap;">Objective-C</span> options "pad-param-type" (-xS) and "unpad-param-type" (-xs).</li>
<li>Add formatting of C++14 single-quote digit separators (#337).</li>
<li>Add indentation for CORBA IDL module statement (#414).</li>
<li>Add translations for Bulgarian, Estonian, Greek, Hungarian, Norwegian, and Romanian.</li>
<li>Remove lineend option from formatCinToCout function.</li>
<li>Improve align-method-colon and apply to Objective&#8209;C method calls.</li>
<li>Improve align-method-colon and apply to <span style="white-space: nowrap;">Objective-C</span> method calls.</li>
<li>Improve recognition of header guards in preprocessor statements.</li>
<li>Improve recognition of C++11 uniform initializer brackets (#381, 411, 415).</li>
<li>Improve the processing of quoted strings and verbatim strings.</li>
@@ -221,8 +351,8 @@
<li>Fix C# to recognize &quot;using&quot; as a header.</li>
<li>Fix C# to always recognize &quot;forever&quot; as a header.</li>
<li>Fix Pico style not always computing the indentation for one line blocks.</li>
<li>Fix indentation of Objective-C @interface statement (#333).</li>
<li>Fix assert error when Objective-C &quot;@&quot; is followed by whitespace.</li>
<li>Fix indentation of <span style="white-space: nowrap;">Objective-C</span> @interface statement (#333).</li>
<li>Fix assert error when <span style="white-space: nowrap;">Objective-C</span> &quot;@&quot; is followed by whitespace.</li>
<li>Fix end of line comments for &quot;pad-method-prefix&quot; and &quot;unpad-method-prefix&quot;.</li>
<li>Fix end of line comments for &quot;pad-method-colon&quot;.</li>
<li>Refactoring:
@@ -317,8 +447,8 @@
</ul>
<p>
<strong>Previous releases are available in the <a href="http://astyle.sourceforge.net/notesArchives.html">Release
Notes Archives</a>.</strong></p>
<strong>Previous releases are available in the <a href="http://astyle.sourceforge.net/notesArchives.html">Release Notes Archives</a>.</strong>
</p>
<p style="margin-left: -0.4in; text-align: center;">
<a href="http://sourceforge.net/projects/astyle">
+9 -10
View File
@@ -20,7 +20,7 @@
<h3>Artistic Style 2.04&nbsp; (November 2013)</h3>
<ul>
<li>Add new programming language Objective&#8209;C.</li>
<li>Add new programming language <span style="white-space: nowrap;">Objective-C</span>.</li>
<li>Add new bracket style option "style=google" (-A14). </li>
<li>Add new option "indent-preproc-cond" (xw) to indent preprocessor conditional statements (#118). </li>
<li>Add new bracket modify options "attach-namespaces", "attach-classes", "attach-inlines", and "attach-extern-c".
@@ -28,9 +28,9 @@
<li>Add new option "indent-modifiers" (-xG) to indent class access modifiers one-half indent (#130). </li>
<li>Add new option "remove-brackets" (-xj) to remove brackets from single line conditional statements.</li>
<li>Add new option "remove-comment-prefix" (-xp) to remove the leading '*' from multi-line comments. </li>
<li>Add new option "align-method-colon" (-xM) to align Objective&#8209;C method colons. </li>
<li>Add new option "pad-method-colon=#" (-xP#) to space pad Objective&#8209;C method colons. </li>
<li>Add new options "pad-method-prefix" (-xQ), and "unpad-method-prefix" (-xR) to pad the Objective&#8209;C "-" and
<li>Add new option "align-method-colon" (-xM) to align <span style="white-space: nowrap;">Objective-C</span> method colons. </li>
<li>Add new option "pad-method-colon=#" (-xP#) to space pad <span style="white-space: nowrap;">Objective-C</span> method colons. </li>
<li>Add new options "pad-method-prefix" (-xQ), and "unpad-method-prefix" (-xR) to pad the <span style="white-space: nowrap;">Objective-C</span> "-" and
"+" method prefix. </li>
<li>Add new dll entry point AStyleMainUtf16 for processing C# UTF-16 strings. </li>
<li>Add formatting of C++11 raw string literals (#222). </li>
@@ -39,7 +39,7 @@
<li>Improve recognition and formatting of pointers and references (#174 and other changes). </li>
<li>Improve the recognition of block-opening brackets.</li>
<li>Improve code using a static code analyzer (#195).</li>
<li>Change "max-code-length" to include Objective&#8209;C methods.</li>
<li>Change "max-code-length" to include <span style="white-space: nowrap;">Objective-C</span> methods.</li>
<li>Change "indent-elseifs" and "break-blocks" to look ahead only if in command-type brackets (speed improvement).
</li>
<li>Fix linux bracket styles to break the opening bracket in inline function definitions (#185). </li>
@@ -876,7 +876,7 @@
<li>Compilation under G++ 3.0 now works properly.</li>
<li>Bug fix: Opening brackets that appear at the beginning of a line immediately after an empty line comment are now
handled properly, and not appended as part of the line comment.</li>
<li>Bug fix: Brackets inside comments are now not mis-indented within the comment.</li>
<li>Bug fix: Brackets inside comments are properly indented within the comment.</li>
</ul>
<h3>Artistic Style 1.14.1 (2 June 2001)</h3>
@@ -1015,13 +1015,13 @@
<h3>Artistic Style 1.11.1 (3 September 1999)</h3>
<ul>
<li>Fixed a bug that inserted an empty line at the begining of source files.</li>
<li>Fixed a bug that inserted an empty line at the beginning of source files.</li>
</ul>
<h3>Artistic Style 1.11.0 (3 September 1999)</h3>
<ul>
<li>Astyle now filters out line-feeds ('\r') before begining to parse lines. This should take care of bizarre formatting
<li>Astyle now filters out line-feeds ('\r') before beginning to parse lines. This should take care of bizarre formatting
that existed when moving source files from Windows (which breaks lines with a linefeed AND newline ("\r\n") to
unix (which breaks lines only with newlines).</li>
<li>The "struct", "static" and "synchronized" keywords are now finally handled correctly in both the contexts of block
@@ -1088,7 +1088,7 @@
for similarity with the new option above.</li>
<li>Changed the short option name of the option '-<strong>-errors-to-standard-output</strong>' from '<strong>-o</strong>'
to '<strong>-X</strong>'.</li>
<li>Up to now, Artistic Style always inserted a minimal indent of <strong>t</strong>wice the current selected indent
<li>Up to now, Artistic Style always inserted a minimal indent of <strong>twice</strong> the current selected indent
size inside multi-line conditional headers ('if', 'while' ...), so that it would be clear where the headers end
and the code after them begins. The current version adds the option '<strong>--min-conditional-indent=#</strong>'
(or '<strong>-m#</strong>') that sets the absolute minimal indent between conditional headers and their multiple-line
@@ -1347,4 +1347,3 @@
</body>
</html>
+3 -18
View File
@@ -1,28 +1,13 @@
/* h1 is a title
* h2 is a subtitle
* h3 is a hanging text title
* h4 is a non-hanging text title
* h5 is a non-hanging text title in all caps and black font
* p.noindent is non-hanging text (text without a title)
* p.contents entries are for the table of contents
* a.contents are table of contents links (not underlined)
* a.links are links (underlined)
* img does not have a border
* pre is a predefined format for formatting code
*/
/* margin: [top] [right] [bottom] [left] */
body { background-color: white; margin: 5em 15em 5em 2em; font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; }
h1 { color: mediumblue; font-style: italic; margin-top: 3em; }
h1 { color: mediumblue; font-style: italic; margin-top: 2em; }
h2 { color: mediumblue; font-size: larger; margin-top: 2em; }
h3 { color: mediumblue; margin-top: 2em; }
h4 { color: mediumblue; margin-top: 2em; }
h4 { color: mediumblue; margin-top: 1em; }
h5 { text-transform: uppercase }
p { line-height: 1.2em;}
p { line-height: 1.4em;}
a.contents:link, a.contents:visited { color: mediumblue; text-decoration: none; }
a.contents:hover { color: red; text-decoration: none; }
+30 -7
View File
@@ -1,4 +1,4 @@
.TH astyle 1 "2023-04-18" "Andre Simon" "user documentation"
.TH astyle 1 "2024-06-30" "Andre Simon" "user documentation"
.SH NAME
astyle - C syntax indenter and formatter
@@ -9,7 +9,7 @@ astyle - C syntax indenter and formatter
.SH DESCRIPTION
.B astyle
provides a variety of options to apply a consistent coding style to C, C++, Java or Objective C source code files.
provides a variety of options to apply a consistent coding style to C, C++, Java or Objective-C source code files.
.PP
When indenting a specific file, the resulting indented file RETAINS
the original file-name. The original pre-indented file is renamed,
@@ -218,6 +218,12 @@ Insert space padding around operators.
.IP "--pad-comma OR -xg"
Insert space padding after commas.
.IP "--pad-negation"
Insert space padding after negations.
.IP "--pad-negation=before"
Insert space padding also before negations.
.IP "--pad-paren OR -P"
Insert space padding around parenthesis on both the outside
and the inside.
@@ -239,12 +245,22 @@ Insert space padding after paren headers (e.g. 'if', 'for'...).
Remove unnecessary space padding around parenthesis. This
can be used in combination with the 'pad' options above.
.IP "--pad-empty-paren OR -xo"
Apply padding to empty pairs of parentheses; combine with other
parenthesis padding options.
.IP "--pad-brackets"
Insert space padding around square brackets on both the outside
and the inside (experimental).
and the inside.
.IP "--pad-brackets-in"
Insert space padding around square brackets the inside only.
.IP "--pad-brackets-out"
Insert space padding around square brackets the outside only.
.IP "--unpad-brackets"
Remove unnecessary space padding around square brackets (experimental).
Remove unnecessary space padding around square brackets.
.IP "--delete-empty-lines OR -xe"
Delete empty lines within a function or method.
@@ -270,10 +286,10 @@ the operator type (left), middle, or operator name (right).
If not set, follow pointer alignment.
.IP "--squeeze-lines=#"
Remove superfluous empty lines exceeding the given number (experimental).
Remove superfluous empty lines exceeding the given number.
.IP "--squeeze-ws"
Remove superfluous whitespace (experimental).
Remove superfluous whitespace.
.SH Formatting Options
@@ -289,6 +305,7 @@ Break one line headers (e.g. 'if', 'while', 'else', ...) from a
statement residing on the same line.
.IP "--add-braces OR -j"
.IP "--add-braces=nested (experimental)"
Add braces to unbraced one line conditional statements.
.IP "--add-one-line-braces OR -J"
@@ -349,6 +366,12 @@ Indent an Objective-C source file.
.IP "--mode=js"
Indent a JavaScript source file (experimental).
.IP "--mode=ghc"
Indent a GHC source file (experimental).
.IP "--mode=gsc"
Indent a GSC source file (experimental).
.SH Objective-C Options
.IP "--pad-method-prefix OR -xQ"
@@ -517,6 +540,6 @@ astyle --style=allman --recursive /home/project/*.cpp,*.h
astyle --style=allman < OriginalSourceFile > BeautifiedSourceFile
.SH AUTHORS
Andre Simon <a.simon@mailbox.org>
Andre Simon <as@andre-simon.de>
.SH SEE ALSO
More information at https://sourceforge.net/p/astyle/.
+1 -1
View File
@@ -4,7 +4,7 @@ _astyle() {
args=("${COMP_WORDS[@]}")
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--style --indent --attach-namespaces --attach-classes --attach-inlines --attach-extern-c --attach-closing-while --indent-classes --indent-modifiers --indent-switches --indent-cases --indent-namespaces --indent-after-parens --indent-continuation --indent-labels --indent-preproc-block --indent-preproc-cond --indent-preproc-define --indent-col1-comments --min-conditional-indent --max-continuation-indent --break-blocks --pad-oper --pad-comma --pad-paren --pad-paren-out --pad-first-paren-out --pad-paren-in --pad-header --unpad-paren --pad-brackets --unpad-brackets --delete-empty-lines --fill-empty-lines --align-pointer --align-reference --break-closing-braces --break-elseifs --break-one-line-headers --add-braces --add-one-line-braces --remove-braces --break-return-type --attach-return-type-decl --keep-one-line-blocks --keep-one-line-statements --convert-tabs --close-templates --remove-comment-prefix --max-code-length --break-after-logical mode --pad-method-prefix --unpad-method-prefix --pad-return-type --unpad-return-type --pad-param-type --unpad-param-type --align-method-colon --pad-method-colon --suffix --recursive --dry-run --exclude --ignore-exclude-errors --ignore-exclude-errors-x --errors-to-stdout --preserve-date --verbose --formatted --quiet --lineend --options --project --ascii --version --help --html --stdin --stdout --squeeze-lines --squeeze-ws"
opts="--style --indent --attach-namespaces --attach-classes --attach-inlines --attach-extern-c --attach-closing-while --indent-classes --indent-modifiers --indent-switches --indent-cases --indent-namespaces --indent-after-parens --indent-continuation --indent-labels --indent-preproc-block --indent-preproc-cond --indent-preproc-define --indent-col1-comments --min-conditional-indent --max-continuation-indent --break-blocks --pad-oper --pad-comma --pad-negation --pad-paren --pad-paren-out --pad-first-paren-out --pad-paren-in --pad-header --unpad-paren --pad-empty-paren --pad-brackets --unpad-brackets --delete-empty-lines --fill-empty-lines --align-pointer --align-reference --break-closing-braces --break-elseifs --break-one-line-headers --add-braces --add-one-line-braces --remove-braces --break-return-type --attach-return-type-decl --keep-one-line-blocks --keep-one-line-statements --convert-tabs --close-templates --remove-comment-prefix --max-code-length --break-after-logical mode --pad-method-prefix --unpad-method-prefix --pad-return-type --unpad-return-type --pad-param-type --unpad-param-type --align-method-colon --pad-method-colon --suffix --recursive --dry-run --exclude --ignore-exclude-errors --ignore-exclude-errors-x --errors-to-stdout --preserve-date --verbose --formatted --quiet --lineend --options --project --ascii --version --help --html --stdin --stdout --squeeze-lines --squeeze-ws"
case "$prev" in
--style)
+1
View File
@@ -29,6 +29,7 @@ complete -c astyle -l pad-first-paren-out -d 'Insert space padding around first
complete -c astyle -l pad-paren-in -d 'Insert space padding around parenthesis on the inside only'
complete -c astyle -l pad-header -d 'Insert space padding after paren headers (e.g'
complete -c astyle -l unpad-paren -d 'Remove unnecessary space padding around parenthesis'
complete -c astyle -l pad-empty-paren -d 'Apply padding to empty pairs of parentheses'
complete -c astyle -l pad-brackets -d 'Insert space padding around square brackets on both the outside and the inside (experimental)'
complete -c astyle -l unpad-brackets -d 'Remove unnecessary space padding around square brackets (experimental)'
complete -c astyle -l delete-empty-lines -d 'Delete empty lines within a function or method'
+1
View File
@@ -32,6 +32,7 @@ _astyle() {
"--pad-paren-in[Insert space padding around parenthesis on the inside only]"
"--pad-header[Insert space padding after paren headers (e.g]"
"--unpad-paren[Remove unnecessary space padding around parenthesis]"
"--pad-empty-paren[Apply padding to empty pairs of parentheses]"
"--pad-brackets[Insert space padding around square brackets on both the outside and the inside (experimental)]"
"--unpad-brackets[Remove unnecessary space padding around square brackets (experimental)]"
"--delete-empty-lines[Delete empty lines within a function or method]"
+10 -1
View File
@@ -89,6 +89,9 @@ parser:flag "--pad-oper"
parser:flag "--pad-comma"
:description "Insert space padding after commas"
parser:flag "--pad-negation"
:description "Insert space padding after negations"
parser:flag "--pad-paren"
:description "Insert space padding around parenthesis on both the outside and the inside"
@@ -108,7 +111,13 @@ parser:flag "--unpad-paren"
:description "Remove unnecessary space padding around parenthesis"
parser:flag "--pad-brackets"
:description "Insert space padding around square brackets on both the outside and the inside (experimental)."
:description "Insert space padding around square brackets on both the outside and the inside."
parser:flag "--pad-brackets-in"
:description "Insert space padding around square brackets on the inside only."
parser:flag "--pad-brackets-out"
:description "Insert space padding around square brackets on the outside only."
parser:flag "--unpad-brackets"
:description "Remove unnecessary space padding around square brackets (experimental)."
+269 -107
View File
@@ -72,6 +72,7 @@ ASBeautifier::ASBeautifier()
setPreprocDefineIndent(false);
setPreprocConditionalIndent(false);
setAlignMethodColon(false);
isInAssignment = isInInitializerList = isInMultiLineString = false;
// initialize ASBeautifier member vectors
beautifierFileType = INVALID_TYPE; // reset to an invalid type
@@ -209,6 +210,10 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
caseIndent = other.caseIndent;
squeezeWhitespace = other.squeezeWhitespace;
attemptLambdaIndentation = other.attemptLambdaIndentation;
isInAssignment = other.isInAssignment;
isInInitializerList = other.isInInitializerList;
isInMultiLineString = other.isInMultiLineString;
namespaceIndent = other.namespaceIndent;
braceIndent = other.braceIndent;
braceIndentVtk = other.braceIndentVtk;
@@ -238,7 +243,7 @@ ASBeautifier::ASBeautifier(const ASBeautifier& other) : ASBase(other)
shouldAlignMethodColon = other.shouldAlignMethodColon;
shouldIndentPreprocDefine = other.shouldIndentPreprocDefine;
shouldIndentPreprocConditional = other.shouldIndentPreprocConditional;
lambdaIndicator = other.lambdaIndicator;
lambdaIndicator = other.lambdaIndicator;
indentCount = other.indentCount;
spaceIndentCount = other.spaceIndentCount;
@@ -420,6 +425,7 @@ void ASBeautifier::init(ASSourceIterator* iter)
isInBeautifySQL = false;
isInIndentableStruct = false;
isInIndentablePreproc = false;
inLineNumber = 0;
runInIndentContinuation = 0;
nonInStatementBrace = 0;
@@ -537,20 +543,28 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
lineBeginsWithCloseBrace = true;
else if (line[0] == ',')
lineBeginsWithComma = true;
else if (line.compare(0, 2, "//") == 0)
else if (line.compare(0, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
lineIsLineCommentOnly = true;
else if (line.compare(0, 2, "/*") == 0)
else if (line.compare(0, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0)
{
if (line.find("*/", 2) != std::string::npos)
if (line.find(AS_CLOSE_COMMENT, AS_CLOSE_COMMENT.length()) != std::string::npos)
lineIsCommentOnly = true;
}
else if (line.compare(0, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
{
if (line.find(AS_GSC_CLOSE_COMMENT, AS_GSC_CLOSE_COMMENT.length()) != std::string::npos)
lineIsCommentOnly = true;
}
}
isInRunInComment = false;
size_t j = line.find_first_not_of(" \t{");
if (j != std::string::npos && line.compare(j, 2, "//") == 0)
if ( j != std::string::npos
&& line.compare(j, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
lineOpensWithLineComment = true;
if (j != std::string::npos && line.compare(j, 2, "/*") == 0)
if (j != std::string::npos
&& (line.compare(j, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|| line.compare(j, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0))
{
lineOpensWithComment = true;
size_t k = line.find_first_not_of(" \t");
@@ -601,16 +615,16 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
&& line.length() > 0
&& line[0] != '#')
{
std::string indentedLine;
if (isIndentModeOff)
return originalLine;
if (isInClassHeaderTab || isInClassInitializer)
{
// parsing is turned off in ASFormatter by indent-off
// the originalLine will probably never be returned here
indentedLine = preLineWS(prevFinalLineIndentCount, prevFinalLineSpaceIndentCount) + line;
return getIndentedLineReturn(indentedLine, originalLine);
return preLineWS(prevFinalLineIndentCount, prevFinalLineSpaceIndentCount) + line;
}
indentedLine = preLineWS(preprocBlockIndent, 0) + line;
return getIndentedLineReturn(indentedLine, originalLine);
return preLineWS(preprocBlockIndent, 0) + line;
}
if (!isInComment
@@ -645,10 +659,18 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
}
else
indentedLine = preLineWS(preprocBlockIndent, 0) + line;
return getIndentedLineReturn(indentedLine, originalLine);
if (isIndentModeOff)
return originalLine;
else
return indentedLine;
}
if (shouldIndentPreprocConditional && preproc.length() > 0)
{
if (isIndentModeOff)
return originalLine;
std::string indentedLine;
if (preproc.length() >= 2 && preproc.substr(0, 2) == "if") // #if, #ifdef, #ifndef
{
@@ -660,7 +682,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
preprocIndentStack->emplace_back(entry);
indentedLine = preLineWS(preprocIndentStack->back().first,
preprocIndentStack->back().second) + line;
return getIndentedLineReturn(indentedLine, originalLine);
return indentedLine;
}
if (preproc == "else" || preproc == "elif")
{
@@ -668,7 +690,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
{
indentedLine = preLineWS(preprocIndentStack->back().first,
preprocIndentStack->back().second) + line;
return getIndentedLineReturn(indentedLine, originalLine);
return indentedLine;
}
}
else if (preproc == "endif")
@@ -678,7 +700,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
indentedLine = preLineWS(preprocIndentStack->back().first,
preprocIndentStack->back().second) + line;
preprocIndentStack->pop_back();
return getIndentedLineReturn(indentedLine, originalLine);
return indentedLine;
}
}
}
@@ -698,14 +720,14 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
{
isInDefineDefinition = false;
// this could happen with invalid input
if (activeBeautifierStack->empty())
if (activeBeautifierStack->empty() || isIndentModeOff)
return originalLine;
ASBeautifier* defineBeautifier = activeBeautifierStack->back();
activeBeautifierStack->pop_back();
std::string indentedLine = defineBeautifier->beautify(line);
delete defineBeautifier;
return getIndentedLineReturn(indentedLine, originalLine);
return indentedLine;
}
// unless this is a multi-line #define, return this precompiler line as is.
@@ -799,8 +821,7 @@ std::string ASBeautifier::beautify(const std::string& originalLine)
indentCount = spaceIndentCount = 0;
// finally, insert indentations into beginning of line
std::string indentedLine = preLineWS(indentCount, spaceIndentCount) + line;
indentedLine = getIndentedLineReturn(indentedLine, originalLine);
std::string indentedLine = isIndentModeOff ? originalLine : preLineWS(indentCount, spaceIndentCount) + line;
prevFinalLineSpaceIndentCount = spaceIndentCount;
prevFinalLineIndentCount = indentCount;
@@ -855,6 +876,14 @@ void ASBeautifier::setSharpStyle()
fileType = SHARP_TYPE;
}
/**
* set indentation style to GSC.
*/
void ASBeautifier::setGSCStyle()
{
fileType = GSC_TYPE;
}
/**
* set mode manually set flag
*/
@@ -1300,13 +1329,6 @@ int ASBeautifier::getTabLength() const
return tabLength;
}
const std::string& ASBeautifier::getIndentedLineReturn(const std::string& newLine, const std::string& originalLine) const
{
if (isIndentModeOff)
return originalLine;
return newLine;
}
std::string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCount) const
{
if (shouldForceTabIndentation)
@@ -1337,9 +1359,10 @@ std::string ASBeautifier::preLineWS(int lineIndentCount, int lineSpaceIndentCoun
/**
* register a continuation indent.
*/
void ASBeautifier::registerContinuationIndent(const std::string& line, int i, int spaceIndentCount_,
void ASBeautifier::registerContinuationIndent(std::string_view line, int i, int spaceIndentCount_,
int tabIncrementIn, int minIndent, bool updateParenStack)
{
//return;
assert(i >= -1);
int remainingCharNum = line.length() - i;
int nextNonWSChar = getNextProgramCharDistance(line, i);
@@ -1349,14 +1372,25 @@ void ASBeautifier::registerContinuationIndent(const std::string& line, int i, in
if (nextNonWSChar == remainingCharNum || shouldIndentAfterParen)
{
int previousIndent = spaceIndentCount_;
if (!continuationIndentStack->empty())
previousIndent = continuationIndentStack->back();
int currIndent = continuationIndent * indentLength + previousIndent;
// GL29
if (shouldIndentAfterParen) {
currIndent = indentLength;
}
if (currIndent > maxContinuationIndent && line[i] != '{')
currIndent = indentLength * 2 + spaceIndentCount_;
continuationIndentStack->emplace_back(currIndent);
if (updateParenStack)
if (updateParenStack) {
parenIndentStack->emplace_back(previousIndent);
}
return;
}
@@ -1386,9 +1420,10 @@ void ASBeautifier::registerContinuationIndent(const std::string& line, int i, in
continuationIndentCount = minIndent + spaceIndentCount_;
// this is not done for an in-statement array
int multiplier = isInAssignment ? 1 : 2; // GL16 - no multiply in assignments
if (continuationIndentCount > maxContinuationIndent
&& !(prevNonLegalCh == '=' && currentNonLegalCh == '{'))
continuationIndentCount = indentLength * 2 + spaceIndentCount_;
continuationIndentCount = indentLength * multiplier + spaceIndentCount_;
if (!continuationIndentStack->empty()
&& continuationIndentCount < continuationIndentStack->back())
@@ -1405,7 +1440,7 @@ void ASBeautifier::registerContinuationIndent(const std::string& line, int i, in
/**
* Register a continuation indent for a class header or a class initializer colon.
*/
void ASBeautifier::registerContinuationIndentColon(const std::string& line, int i, int tabIncrementIn)
void ASBeautifier::registerContinuationIndentColon(std::string_view line, int i, int tabIncrementIn)
{
assert(line[i] == ':');
assert(isInClassInitializer || isInClassHeaderTab);
@@ -1447,7 +1482,7 @@ std::pair<int, int> ASBeautifier::computePreprocessorIndent()
* get distance to the next non-white space, non-comment character in the line.
* if no such character exists, return the length remaining to the end of the line.
*/
int ASBeautifier::getNextProgramCharDistance(const std::string& line, int i) const
int ASBeautifier::getNextProgramCharDistance(std::string_view line, int i) const
{
bool inComment = false;
int remainingCharNum = line.length() - i;
@@ -1459,7 +1494,8 @@ int ASBeautifier::getNextProgramCharDistance(const std::string& line, int i) con
ch = line[i + charDistance];
if (inComment)
{
if (line.compare(i + charDistance, 2, "*/") == 0)
if (line.compare(i + charDistance, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) == 0
|| line.compare(i + charDistance, AS_GSC_CLOSE_COMMENT.length(), AS_GSC_CLOSE_COMMENT) == 0)
{
charDistance++;
inComment = false;
@@ -1470,9 +1506,10 @@ int ASBeautifier::getNextProgramCharDistance(const std::string& line, int i) con
continue;
if (ch == '/')
{
if (line.compare(i + charDistance, 2, "//") == 0)
if (line.compare(i + charDistance, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
return remainingCharNum;
if (line.compare(i + charDistance, 2, "/*") == 0)
if (line.compare(i + charDistance, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|| line.compare(i + charDistance, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
{
charDistance++;
inComment = true;
@@ -1520,7 +1557,7 @@ int ASBeautifier::convertTabToSpaces(int i, int tabIncrementIn) const
* @return the trimmed line.
* @param str the line to trim.
*/
std::string ASBeautifier::trim(const std::string& str) const
std::string ASBeautifier::trim(std::string_view str) const
{
int start = 0;
int end = str.length() - 1;
@@ -1545,15 +1582,14 @@ std::string ASBeautifier::trim(const std::string& str) const
* @return the trimmed line.
* @param str the line to trim.
*/
std::string ASBeautifier::rtrim(const std::string& str) const
std::string ASBeautifier::rtrim(std::string_view str) const
{
size_t len = str.length();
size_t end = str.find_last_not_of(" \t");
if (end == std::string::npos
|| end == len - 1)
return str;
std::string returnStr(str, 0, end + 1);
return returnStr;
return std::string(str);
return std::string(str.substr(0, end + 1));
}
/**
@@ -1683,7 +1719,7 @@ void ASBeautifier::initTempStacksContainer(std::vector<std::vector<const std::st
*
* @return true if line ends with a comma, otherwise false.
*/
bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) const
bool ASBeautifier::statementEndsWithComma(std::string_view line, int index) const
{
assert(line[index] == '=');
@@ -1700,7 +1736,7 @@ bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) co
if (isInComment_)
{
if (line.compare(i, 2, "*/") == 0)
if (line.compare(i, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) == 0)
{
isInComment_ = false;
++i;
@@ -1729,10 +1765,11 @@ bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) co
continue;
}
if (line.compare(i, 2, "//") == 0)
if (line.compare(i, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
break;
if (line.compare(i, 2, "/*") == 0)
if (line.compare(i, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|| line.compare(i, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
{
if (isLineEndComment(line, i))
break;
@@ -1764,12 +1801,15 @@ bool ASBeautifier::statementEndsWithComma(const std::string& line, int index) co
*
* @return is before a line-end comment.
*/
bool ASBeautifier::isLineEndComment(const std::string& line, int startPos) const
bool ASBeautifier::isLineEndComment(std::string_view line, int startPos) const
{
assert(line.compare(startPos, 2, "/*") == 0);
assert(line.compare(startPos, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|| line.compare(startPos, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0 );
bool isCppComment = line.compare(startPos, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT);
// comment must be closed on this line with nothing after it
size_t endNum = line.find("*/", startPos + 2);
size_t endNum = line.find(isCppComment ? AS_CLOSE_COMMENT : AS_GSC_CLOSE_COMMENT, startPos + 2);
if (endNum != std::string::npos)
{
size_t nextChar = line.find_first_not_of(" \t", endNum + 2);
@@ -1784,7 +1824,7 @@ bool ASBeautifier::isLineEndComment(const std::string& line, int startPos) const
*
* @return is the index to the previous word (the in statement indent).
*/
int ASBeautifier::getContinuationIndentAssign(const std::string& line, size_t currPos) const
int ASBeautifier::getContinuationIndentAssign(std::string_view line, size_t currPos) const
{
assert(line[currPos] == '=');
@@ -1812,7 +1852,7 @@ int ASBeautifier::getContinuationIndentAssign(const std::string& line, size_t cu
*
* @return is the indent to the second word on the line (the in statement indent).
*/
int ASBeautifier::getContinuationIndentComma(const std::string& line, size_t currPos) const
int ASBeautifier::getContinuationIndentComma(std::string_view line, size_t currPos) const
{
assert(line[currPos] == ',');
@@ -1873,10 +1913,10 @@ std::string ASBeautifier::getNextWord(const std::string& line, size_t currPos) c
*
* @return is true or false.
*/
bool ASBeautifier::isIndentedPreprocessor(const std::string& line, size_t currPos) const
bool ASBeautifier::isIndentedPreprocessor(std::string_view line, size_t currPos) const
{
assert(line[0] == '#');
std::string nextWord = getNextWord(line, currPos);
std::string nextWord = getNextWord(std::string(line), currPos);
if (nextWord == "region" || nextWord == "endregion")
return true;
// is it #pragma omp
@@ -1907,7 +1947,7 @@ bool ASBeautifier::isIndentedPreprocessor(const std::string& line, size_t currPo
break;
}
// check for "pragma omp"
std::string word = line.substr(start, end - start);
std::string_view word = line.substr(start, end - start);
if (word == "omp" || word == "region" || word == "endregion")
return true;
}
@@ -1919,7 +1959,7 @@ bool ASBeautifier::isIndentedPreprocessor(const std::string& line, size_t currPo
*
* @return is true or false.
*/
bool ASBeautifier::isPreprocessorConditionalCplusplus(const std::string& line) const
bool ASBeautifier::isPreprocessorConditionalCplusplus(std::string_view line) const
{
std::string preproc = trim(line.substr(1));
if (preproc.compare(0, 5, "ifdef") == 0 && getNextWord(preproc, 4) == "__cplusplus")
@@ -1951,15 +1991,15 @@ bool ASBeautifier::isPreprocessorConditionalCplusplus(const std::string& line) c
*
* @return is true or false.
*/
bool ASBeautifier::isInPreprocessorUnterminatedComment(const std::string& line)
bool ASBeautifier::isInPreprocessorUnterminatedComment(std::string_view line)
{
if (!isInPreprocessorComment)
{
size_t startPos = line.find("/*");
size_t startPos = line.find(AS_OPEN_COMMENT);
if (startPos == std::string::npos)
return false;
}
size_t endNum = line.find("*/");
size_t endNum = line.find(AS_CLOSE_COMMENT);
if (endNum != std::string::npos)
{
isInPreprocessorComment = false;
@@ -1986,7 +2026,7 @@ int ASBeautifier::getBeautifierFileType() const
/**
* Process preprocessor statements and update the beautifier stacks.
*/
void ASBeautifier::processPreprocessor(const std::string& preproc, const std::string& line)
void ASBeautifier::processPreprocessor(std::string_view preproc, std::string_view line)
{
// When finding a multi-lined #define statement, the original beautifier
// 1. sets its isInDefineDefinition flag
@@ -2104,10 +2144,12 @@ void ASBeautifier::computePreliminaryIndentation()
|| (*headerStack)[i] == &AS_THROWS
|| (*headerStack)[i] == &AS_STATIC))
++indentCount;
} else {
//GL37
if (!(i > 0 && (*headerStack)[i - 1] != &AS_OPEN_BRACE
&& (*headerStack)[i] == &AS_OPEN_BRACE))
++indentCount;
}
else if (!(i > 0 && (*headerStack)[i - 1] != &AS_OPEN_BRACE
&& (*headerStack)[i] == &AS_OPEN_BRACE))
++indentCount;
if (!isJavaStyle() && !namespaceIndent && i > 0
&& ((*headerStack)[i - 1] == &AS_NAMESPACE
@@ -2133,6 +2175,24 @@ void ASBeautifier::computePreliminaryIndentation()
isInSwitch = true;
}
// GL26 check if line is a label.... do not indent
//std::cerr << "line "<<line<< "\n";
/*
if (!blockIndent) {
size_t lastCharPos = line.find_last_not_of(" \t");
if ( isCStyle()
&& line[lastCharPos] == ':'
) {
if (labelIndent)
--indentCount; // unindent label by one indent
else
indentCount = 0;
}
} */
} // end of for loop
if (isInClassHeader)
@@ -2205,6 +2265,8 @@ void ASBeautifier::computePreliminaryIndentation()
--indentCount;
if (g_preprocessorCppExternCBrace >= 4)
--indentCount;
}
void ASBeautifier::adjustParsedLineIndentation(size_t iPrelim, bool isInExtraHeaderIndent)
@@ -2318,7 +2380,7 @@ int ASBeautifier::adjustIndentCountForBreakElseIfComments() const
* Extract a preprocessor statement without the #.
* If a error occurs an empty std::string is returned.
*/
std::string ASBeautifier::extractPreprocessorStatement(const std::string& line) const
std::string ASBeautifier::extractPreprocessorStatement(std::string_view line) const
{
std::string preproc;
size_t start = line.find_first_not_of("#/ \t");
@@ -2331,7 +2393,7 @@ std::string ASBeautifier::extractPreprocessorStatement(const std::string& line)
return preproc;
}
void ASBeautifier::adjustObjCMethodDefinitionIndentation(const std::string& line_)
void ASBeautifier::adjustObjCMethodDefinitionIndentation(std::string_view line_)
{
// register indent for Objective-C continuation line
if (line_.length() > 0
@@ -2362,7 +2424,7 @@ void ASBeautifier::adjustObjCMethodDefinitionIndentation(const std::string& line
}
}
void ASBeautifier::adjustObjCMethodCallIndentation(const std::string& line_)
void ASBeautifier::adjustObjCMethodCallIndentation(std::string_view line_)
{
static int keywordIndentObjCMethodAlignment = 0;
if (shouldAlignMethodColon && objCColonAlignSubsequent != -1)
@@ -2439,7 +2501,7 @@ void ASBeautifier::clearObjCMethodDefinitionAlignment()
* Find the first alignment colon on a line.
* Ternary operators (?) are bypassed.
*/
int ASBeautifier::findObjCColonAlignment(const std::string& line) const
int ASBeautifier::findObjCColonAlignment(std::string_view line) const
{
bool haveTernary = false;
for (size_t i = 0; i < line.length(); i++)
@@ -2463,13 +2525,41 @@ int ASBeautifier::findObjCColonAlignment(const std::string& line) const
return -1;
}
/* chatgpt
int ASBeautifier::findObjCColonAlignment(const std::string& line) const
{
bool haveTernary = false;
for (char c : line)
{
if (c == ':' || c == '?')
{
if (c == '?')
{
haveTernary = true;
continue;
}
if (haveTernary)
{
haveTernary = false;
continue;
}
return &c - line.c_str(); // Calculate the index of the found character
}
}
return -1;
}
*/
/**
* Compute the spaceIndentCount necessary to align the current line colon
* with the colon position in the argument.
* If it cannot be aligned indentLength is returned and a new colon
* position is calculated.
*/
int ASBeautifier::computeObjCColonAlignment(const std::string& line, int colonAlignPosition) const
int ASBeautifier::computeObjCColonAlignment(std::string_view line, int colonAlignPosition) const
{
int colonPosition = findObjCColonAlignment(line);
if (colonPosition < 0 || colonPosition > colonAlignPosition)
@@ -2483,7 +2573,7 @@ int ASBeautifier::computeObjCColonAlignment(const std::string& line, int colonAl
* Use for now and see what happens.
* Most programmers will probably use align-method-colon anyway.
*/
int ASBeautifier::getObjCFollowingKeyword(const std::string& line, int bracePos) const
int ASBeautifier::getObjCFollowingKeyword(std::string_view line, int bracePos) const
{
assert(line[bracePos] == '[');
size_t firstText = line.find_first_not_of(" \t", bracePos + 1);
@@ -2514,7 +2604,8 @@ int ASBeautifier::getObjCFollowingKeyword(const std::string& line, int bracePos)
size_t keyPos = line.find_first_not_of(" \t", objectEnd + 1);
if (keyPos == std::string::npos)
return 0;
return keyPos - firstText;
return static_cast<int>(keyPos - firstText); // Cast to int for return value
}
/**
@@ -2522,11 +2613,11 @@ int ASBeautifier::getObjCFollowingKeyword(const std::string& line, int bracePos)
* The indentCount is NOT included
* Needed to compute an accurate alignment.
*/
std::string ASBeautifier::getIndentedSpaceEquivalent(const std::string& line_) const
std::string ASBeautifier::getIndentedSpaceEquivalent(std::string_view line_) const
{
std::string spaceIndent;
spaceIndent.append(spaceIndentCount, ' ');
std::string convertedLine = spaceIndent + line_;
std::string convertedLine = spaceIndent + std::string(line_);
for (size_t i = spaceIndent.length(); i < convertedLine.length(); i++)
{
if (convertedLine[i] == '\t')
@@ -2570,7 +2661,7 @@ bool ASBeautifier::isTopLevel() const
/**
* Parse the current line to update indentCount and spaceIndentCount.
*/
void ASBeautifier::parseCurrentLine(const std::string& line)
void ASBeautifier::parseCurrentLine(std::string_view line)
{
bool isInLineComment = false;
bool isInOperator = false;
@@ -2582,10 +2673,12 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
char ch = ' ';
int tabIncrementIn = 0;
if (isInQuote
&& !haveLineContinuationChar
&& !isInVerbatimQuote
&& !isInAsm)
&& !isInAsm
&& !isInMultiLineString)
isInQuote = false; // missing closing quote
haveLineContinuationChar = false;
@@ -2597,6 +2690,8 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
if (isInBeautifySQL)
continue;
bool isTripleQuoteDelimiter = (isJavaStyle() || isSharpStyle() ) && line.length() > i + 2 && line[i + 1] == '"' && line[i + 2 ] == '"';
// handle special characters (i.e. backslash+character such as \n, \t, ...)
if (isInQuote && !isInVerbatimQuote)
{
@@ -2625,8 +2720,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
// bypass whitespace here
if (isWhiteSpace(ch))
{
if (squeezeWhitespace && !isInComment && !isInQuote && isWhiteSpace(line[i+1]) && !isWhiteSpace(line[i-1])) {
size_t wsSpanEnd = line.find_first_not_of(" \t", i+1);
if (squeezeWhitespace && !isInComment && !isInQuote && isWhiteSpace(line[i + 1]) && !isWhiteSpace(line[i - 1]))
{
size_t wsSpanEnd = line.find_first_not_of(" \t", i + 1);
std::pair<size_t, size_t> wsSpan(i, wsSpanEnd - i - 1);
squeezeWSStack.emplace_back(wsSpan);
}
@@ -2641,15 +2737,18 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
&& (ch == '"'
|| (ch == '\'' && !isDigitSeparator(line, i))))
{
if (!isInQuote)
if (!isInQuote && !isInMultiLineString)
{
quoteChar = ch;
isInQuote = true;
isInMultiLineString = isTripleQuoteDelimiter;
char prevCh = i > 0 ? line[i - 1] : ' ';
char prevPrevCh = i > 1 ? line[i - 2] : ' ';
// GL 32
// https://sourceforge.net/p/astyle/bugs/535/
if (isCStyle() && prevCh == 'R' && !(isalpha(prevNonSpaceCh) || prevNonSpaceCh == '(' ))
if (isCStyle() && prevCh == 'R' && !isalpha(prevPrevCh) && !(isalpha(prevNonSpaceCh) ))
{
int parenPos = line.find('(', i);
if (parenPos != -1)
@@ -2679,7 +2778,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
else if (isSharpStyle())
{
if (line.compare(i, 2, "\"\"") == 0)
{
i++;
}
else
{
isInQuote = false;
@@ -2688,6 +2789,13 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
}
}
else if (isTripleQuoteDelimiter && isInMultiLineString)
{
isInMultiLineString = false;
isInQuote = false;
isContinuation = true;
continue;
}
else if (quoteChar == ch)
{
isInQuote = false;
@@ -2700,7 +2808,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
// handle comments
if (!(isInComment || isInLineComment) && line.compare(i, 2, "//") == 0)
if (!(isInComment || isInLineComment) && line.compare(i, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0)
{
// if there is a 'case' statement after these comments unindent by 1
if (isCaseHeaderCommentIndent)
@@ -2713,7 +2821,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
i++;
continue;
}
if (!(isInComment || isInLineComment) && line.compare(i, 2, "/*") == 0)
if (!(isInComment || isInLineComment)
&& (line.compare(i, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|| line.compare(i, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0))
{
// if there is a 'case' statement after these comments unindent by 1
if (isCaseHeaderCommentIndent && lineOpensWithComment)
@@ -2728,7 +2838,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
blockCommentNoIndent = true; // if no, cannot indent continuation lines
continue;
}
if ((isInComment || isInLineComment) && line.compare(i, 2, "*/") == 0)
if ((isInComment || isInLineComment)
&& (line.compare(i, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) == 0
|| line.compare(i, AS_GSC_CLOSE_COMMENT.length(), AS_GSC_CLOSE_COMMENT) == 0))
{
size_t firstText = line.find_first_not_of(" \t");
// if there is a 'case' statement after these comments unindent by 1
@@ -2773,7 +2885,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
indentCount += adjustIndentCountForBreakElseIfComments();
// bypass rest of the comment up to the comment end
while (i + 1 < line.length()
&& line.compare(i + 1, 2, "*/") != 0)
&& line.compare(i + 1, AS_CLOSE_COMMENT.length(), AS_CLOSE_COMMENT) != 0)
i++;
continue;
@@ -2811,7 +2923,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
prevNonSpaceCh = currentNonSpaceCh;
currentNonSpaceCh = ch;
if (!isLegalNameChar(ch) && ch != ',' && ch != ';')
// #SF 97
if (!isLegalNameChar(ch) /*&& ch != ',' && ch != ';'*/)
{
prevNonLegalCh = currentNonLegalCh;
currentNonLegalCh = ch;
@@ -2827,7 +2941,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
if (isCStyle() && isInTemplate
&& (ch == '<' || ch == '>')
&& !(line.length() > i + 1 && line.compare(i, 2, ">=") == 0))
&& !(line.length() > i + 1 && line.compare(i, AS_GR_EQUAL.length(), AS_GR_EQUAL) == 0))
{
if (ch == '<')
{
@@ -2848,8 +2962,10 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
// handle parentheses
if (ch == '(' || ch == '[' || ch == ')' || ch == ']')
if ((ch == '(' && !isInInitializerList) || ch == '[' || ch == ')' || ch == ']')
{
// GL28 xx
if (ch == '(' || ch == '[')
{
isInOperator = false;
@@ -2885,13 +3001,14 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
// #121
if (attemptLambdaIndentation // GH #7
&& !isLegalNameChar(prevNonSpaceCh)
&& prevNonSpaceCh != ']'
&& prevNonSpaceCh != ')'
&& prevNonSpaceCh != '*' // GH #11
&& line.find(AS_AUTO, 0 ) == std::string::npos) {
lambdaIndicator = true;
if ( !isLegalNameChar(prevNonSpaceCh)
&& prevNonSpaceCh != ']'
&& prevNonSpaceCh != ')'
&& prevNonSpaceCh != '*' // GL #11
//&& line.find(AS_AUTO, 0 ) == std::string::npos
)
{
lambdaIndicator = true;
}
}
@@ -2900,7 +3017,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
if (currentHeader != nullptr)
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, minConditionalIndent, true);
else if (!isInObjCMethodDefinition
//&& xxxCondition && shouldForceTabIndentation // only count one opening parenthese per line #498
//&& xxxCondition && shouldForceTabIndentation // only count one opening parentheses per line #498
)
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, 0, true);
}
@@ -2917,6 +3034,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
foundPreCommandHeader = false;
parenDepth--;
if (parenDepth == 0)
{
if (!parenStatementStack->empty()) // in case of unmatched closing parens
@@ -2985,6 +3103,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
isBlockOpener = true;
}
// GL28 fix initializer lists like x({a.x=0;})
isInInitializerList = isCStyle() && isBlockOpener && (prevNonSpaceCh=='(' || prevNonSpaceCh=='=');
if (!isBlockOpener && currentHeader != nullptr)
{
for (const std::string* const nonParenHeader : *nonParenHeaders)
@@ -2995,8 +3116,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
}
// #121 fix indent of lambda bodies
if (isCStyle() && lambdaIndicator ) {
// #121 fix indent of lambda bodies, also GH #7
if (isCStyle() && lambdaIndicator && attemptLambdaIndentation )
{
isBlockOpener = false;
}
@@ -3120,7 +3242,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
else if (isSharpStyle()
&& (newHeader == &AS_GET || newHeader == &AS_SET))
{
if (getNextWord(line, i + (*newHeader).length()) == "is")
if (getNextWord(std::string(line), i + (*newHeader).length()) == "is")
newHeader = nullptr;
}
else if (newHeader == &AS_USING
@@ -3287,14 +3409,16 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
//https://sourceforge.net/p/astyle/bugs/353/
// new is ending the line?
if (isJavaStyle() && findKeyword(line, i, AS_NEW) && line.length()-3 == i) {
if (isJavaStyle() && findKeyword(line, i, AS_NEW) && line.length() - 3 == i)
{
headerStack->emplace_back(&AS_FIXED); // needs to be something which will not match - need to define a token which will never match
}
//https://sourceforge.net/p/astyle/bugs/550/
//enum can be function return value
if (parenDepth == 0 && findKeyword(line, i, AS_ENUM) && line.find_first_of(AS_OPEN_PAREN, i) == std::string::npos)
if (parenDepth == 0 && findKeyword(line, i, AS_ENUM) && line.find_first_of(AS_OPEN_PAREN, i) == std::string::npos){
isInEnum = true;
}
if (parenDepth == 0 && (findKeyword(line, i, AS_TYPEDEF_STRUCT) || findKeyword(line, i, AS_STRUCT)) && line.find_first_of(AS_SEMICOLON, i) == std::string::npos)
{
@@ -3315,6 +3439,8 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
if (ch == '?')
isInQuestion = true;
// special handling of colons XXX 533
if (ch == ':')
{
@@ -3411,11 +3537,11 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
}
if ((ch == ';' || (parenDepth > 0 && ch == ',')) && !continuationIndentStackSizeStack->empty())
if ((ch == ';' || (parenDepth > 0 && ch == ',')) && !continuationIndentStackSizeStack->empty()){
while ((int) continuationIndentStackSizeStack->back() + (parenDepth > 0 ? 1 : 0)
< (int) continuationIndentStack->size())
continuationIndentStack->pop_back();
}
else if (ch == ',' && (isInEnum || isInStruct) && isNonInStatementArray && !continuationIndentStack->empty())
continuationIndentStack->pop_back();
@@ -3427,8 +3553,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
size_t nextChar = line.find_first_not_of(" \t", i + 1);
if (nextChar != std::string::npos)
{
if (line.compare(nextChar, 2, "//") == 0
|| line.compare(nextChar, 2, "/*") == 0)
if (line.compare(nextChar, AS_OPEN_LINE_COMMENT.length(), AS_OPEN_LINE_COMMENT) == 0
|| line.compare(nextChar, AS_OPEN_COMMENT.length(), AS_OPEN_COMMENT) == 0
|| line.compare(nextChar, AS_GSC_OPEN_COMMENT.length(), AS_GSC_OPEN_COMMENT) == 0)
nextChar = std::string::npos;
}
// register indent
@@ -3457,6 +3584,8 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
// handle ends of statements
if ((ch == ';' && parenDepth == 0) || ch == '}')
{
isInAssignment = isInInitializerList = false;
if (ch == '}')
{
@@ -3702,7 +3831,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
}
// bypass the entire name for all others
std::string name = getCurrentWord(line, i);
std::string_view name = getCurrentWord(line, i);
i += name.length() - 1;
continue;
}
@@ -3715,11 +3844,11 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
&& !isWhiteSpace(line[i + 1])
&& isCharPotentialHeader(line, i + 1))
{
std::string curWord = getCurrentWord(line, i + 1);
std::string_view curWord = getCurrentWord(line, i + 1);
if (curWord == AS_INTERFACE || curWord == AS_AUTORELEASEPOOL)
{
isInObjCInterface = true;
std::string name = '@' + curWord;
std::string name = '@' + std::string(curWord);
i += name.length() - 1;
continue;
}
@@ -3737,7 +3866,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
--indentCount;
if (modifierIndent)
spaceIndentCount += (indentLength / 2);
std::string name = '@' + curWord;
std::string name = '@' + std::string(curWord);
i += name.length() - 1;
continue;
}
@@ -3747,7 +3876,7 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
popLastContinuationIndent();
spaceIndentCount = 0;
isInObjCMethodDefinition = false;
std::string name = '@' + curWord;
std::string name = '@' + std::string(curWord);
i += name.length() - 1;
continue;
}
@@ -3802,14 +3931,39 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
if (foundNonAssignmentOp->length() > 1)
i += foundNonAssignmentOp->length() - 1;
// For C++ input/output, operator<< and >> should be
// For C++ input/output, operator<<, >> and . method calls should be
// aligned, if we are not in a statement already and
// also not in the "operator<<(...)" header line
// GL28: method calls have to contain only alphanumeric identifier
size_t openParenPos = line.find(AS_OPEN_PAREN, i);
std::string methodName = getNextWord(std::string(line), i);
size_t methodNameEndPos = i + methodName.length() + 1;
size_t firstCharAfterMethod = line.substr(i + methodName.length() + 1).find_first_not_of(" \t");
if (firstCharAfterMethod != std::string::npos)
{
methodNameEndPos += firstCharAfterMethod;
}
size_t firstCharOfLine = line.find_first_not_of(" \t");
bool lineStartsWithDot = false;
if (firstCharOfLine != std::string::npos)
{
lineStartsWithDot = line[firstCharOfLine] == '.';
}
// GL28: do not mixup template closing ">>" with IO operator
std::string searchTemplatePattern = std::string(line).substr(0, i);
size_t countLS = std::count_if( searchTemplatePattern.begin(), searchTemplatePattern.end(), []( char c ){return c =='<';});
if (!isInOperator
&& continuationIndentStack->empty()
&& isCStyle()
&& (foundNonAssignmentOp == &AS_GR_GR
|| foundNonAssignmentOp == &AS_LS_LS))
&& !lineStartsWithDot
&& ( (foundNonAssignmentOp == &AS_GR_GR && countLS < 2 )
|| foundNonAssignmentOp == &AS_LS_LS
|| (foundNonAssignmentOp == &AS_DOT && openParenPos == methodNameEndPos)))
{
// this will be true if the line begins with the operator
if (i < foundNonAssignmentOp->length() && spaceIndentCount == 0)
@@ -3821,6 +3975,9 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
else if (foundAssignmentOp != nullptr)
{
isInAssignment = true;
foundPreCommandHeader = false; // clears this for array assignments
foundPreCommandMacro = false;
@@ -3850,10 +4007,15 @@ void ASBeautifier::parseCurrentLine(const std::string& line)
{
isInLet = false;
}
else if (!lineBeginsWithComma)
else if (!lineBeginsWithComma && !isInDefine)
{
if (i == 0 && spaceIndentCount == 0)
spaceIndentCount += indentLength;
// #SF 97
if (prevNonLegalCh == '=' && currentNonLegalCh == '=')
spaceIndentCount = 0;
registerContinuationIndent(line, i, spaceIndentCount, tabIncrementIn, 0, false);
isContinuation = true;
}
+11 -12
View File
@@ -188,7 +188,7 @@ void ASEnhancer::convertSpaceIndentToForceTab(std::string& line) const
* @param caseIndex the line index of the case statement.
* @return the line index of the colon.
*/
size_t ASEnhancer::findCaseColon(const std::string& line, size_t caseIndex) const
size_t ASEnhancer::findCaseColon(std::string_view line, size_t caseIndex) const
{
size_t i = caseIndex;
bool isInQuote_ = false;
@@ -276,9 +276,9 @@ int ASEnhancer::indentLine(std::string& line, int indent) const
* @param index the current line index.
* @return true if a hit.
*/
bool ASEnhancer::isBeginDeclareSectionSQL(const std::string& line, size_t index) const
bool ASEnhancer::isBeginDeclareSectionSQL(std::string_view line, size_t index) const
{
std::string word;
size_t hits = 0;
size_t i;
for (i = index; i < line.length(); i++)
@@ -290,8 +290,8 @@ bool ASEnhancer::isBeginDeclareSectionSQL(const std::string& line, size_t index)
break;
if (!isCharPotentialHeader(line, i))
continue;
word = getCurrentWord(line, i);
for (char& character : word)
std::string_view word = getCurrentWord(line, i);
for (char character : word)
character = (char) toupper(character);
if (word == "EXEC" || word == "SQL")
{
@@ -325,9 +325,8 @@ bool ASEnhancer::isBeginDeclareSectionSQL(const std::string& line, size_t index)
* @param index the current line index.
* @return true if a hit.
*/
bool ASEnhancer::isEndDeclareSectionSQL(const std::string& line, size_t index) const
bool ASEnhancer::isEndDeclareSectionSQL(std::string_view line, size_t index) const
{
std::string word;
size_t hits = 0;
size_t i;
for (i = index; i < line.length(); i++)
@@ -339,8 +338,8 @@ bool ASEnhancer::isEndDeclareSectionSQL(const std::string& line, size_t index) c
break;
if (!isCharPotentialHeader(line, i))
continue;
word = getCurrentWord(line, i);
for (char& character : word)
std::string_view word = getCurrentWord(line, i);
for (char character : word)
character = (char) toupper(character);
if (word == "EXEC" || word == "SQL")
{
@@ -374,7 +373,7 @@ bool ASEnhancer::isEndDeclareSectionSQL(const std::string& line, size_t index) c
* @return false = one-line brace has not been reached.
* true = one-line brace has been reached.
*/
bool ASEnhancer::isOneLineBlockReached(const std::string& line, int startChar) const
bool ASEnhancer::isOneLineBlockReached(std::string_view line, int startChar) const
{
assert(line[startChar] == '{');
@@ -619,7 +618,7 @@ void ASEnhancer::parseCurrentLine(std::string& line, bool isInPreprocessor, bool
// bypass the entire word
if (isPotentialKeyword)
{
std::string name = getCurrentWord(line, i);
std::string_view name = getCurrentWord(line, i);
i += name.length() - 1;
}
continue;
@@ -712,7 +711,7 @@ size_t ASEnhancer::processSwitchBlock(std::string& line, size_t index)
}
if (isPotentialKeyword)
{
std::string name = getCurrentWord(line, i); // bypass the entire name
std::string_view name = getCurrentWord(line, i); // bypass the entire name
i += name.length() - 1;
}
return i;
+522 -255
View File
File diff suppressed because it is too large Load Diff
+29 -18
View File
@@ -103,6 +103,9 @@ const std::string ASResource::AS_OPEN_LINE_COMMENT = std::string("//");
const std::string ASResource::AS_OPEN_COMMENT = std::string("/*");
const std::string ASResource::AS_CLOSE_COMMENT = std::string("*/");
const std::string ASResource::AS_GSC_OPEN_COMMENT = std::string("/#");
const std::string ASResource::AS_GSC_CLOSE_COMMENT = std::string("#/");
const std::string ASResource::AS_ASSIGN = std::string("=");
const std::string ASResource::AS_PLUS_ASSIGN = std::string("+=");
const std::string ASResource::AS_MINUS_ASSIGN = std::string("-=");
@@ -142,6 +145,7 @@ const std::string ASResource::AS_OR = std::string("||");
const std::string ASResource::AS_SCOPE_RESOLUTION = std::string("::");
const std::string ASResource::AS_SPACESHIP = std::string("<=>");
const std::string ASResource::AS_EQUAL_JS = std::string("===");
const std::string ASResource::AS_COALESCE_CS = std::string("?" "?="); // Avoid trigraph
const std::string ASResource::AS_PLUS = std::string("+");
const std::string ASResource::AS_MINUS = std::string("-");
@@ -158,6 +162,7 @@ const std::string ASResource::AS_BIT_XOR = std::string("^");
const std::string ASResource::AS_QUESTION = std::string("?");
const std::string ASResource::AS_COLON = std::string(":");
const std::string ASResource::AS_COMMA = std::string(",");
const std::string ASResource::AS_DOT = std::string(".");
const std::string ASResource::AS_SEMICOLON = std::string(";");
@@ -313,8 +318,6 @@ void ASResource::buildHeaders(std::vector<const std::string*>* headers, int file
void ASResource::buildIndentableHeaders(std::vector<const std::string*>* indentableHeaders)
{
indentableHeaders->emplace_back(&AS_RETURN);
// sort(indentableHeaders->begin(), indentableHeaders->end(), sortOnName);
}
/**
@@ -356,7 +359,7 @@ void ASResource::buildIndentableMacros(std::vector<const std::pair<const std::st
*/
void ASResource::buildNonAssignmentOperators(std::vector<const std::string*>* nonAssignmentOperators)
{
const size_t elements = 15;
const size_t elements = 16;
nonAssignmentOperators->reserve(elements);
nonAssignmentOperators->emplace_back(&AS_EQUAL);
@@ -373,6 +376,7 @@ void ASResource::buildNonAssignmentOperators(std::vector<const std::string*>* no
nonAssignmentOperators->emplace_back(&AS_AND);
nonAssignmentOperators->emplace_back(&AS_OR);
nonAssignmentOperators->emplace_back(&AS_LAMBDA);
nonAssignmentOperators->emplace_back(&AS_DOT);
assert(nonAssignmentOperators->size() < elements);
sort(nonAssignmentOperators->begin(), nonAssignmentOperators->end(), sortOnLength);
@@ -498,6 +502,10 @@ void ASResource::buildOperators(std::vector<const std::string*>* operators, int
{
operators->emplace_back(&AS_EQUAL_JS);
}
if (fileType == SHARP_TYPE)
{
operators->emplace_back(&AS_COALESCE_CS);
}
assert(operators->size() < elements);
sort(operators->begin(), operators->end(), sortOnLength);
}
@@ -626,8 +634,8 @@ void ASResource::buildPreDefinitionHeaders(std::vector<const std::string*>* preD
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// check if a specific line position contains a header.
const std::string* ASBase::findHeader(const std::string& line, int i,
const std::vector<const std::string*>* possibleHeaders) const
const std::string* ASBase::findHeader(std::string_view line, int i,
const std::vector<const std::string*>* possibleHeaders) const
{
assert(isCharPotentialHeader(line, i));
// check the word
@@ -658,7 +666,7 @@ const std::string* ASBase::findHeader(const std::string& line, int i,
if ((header == &AS_GET
|| header == &AS_SET
|| header == &AS_DEFAULT)
&& (peekChar == ';' || peekChar == '(' || peekChar == '='))
&& (peekChar == '.' || peekChar == ';' || peekChar == '(' || peekChar == '='))
break;
return header;
}
@@ -666,9 +674,8 @@ const std::string* ASBase::findHeader(const std::string& line, int i,
}
// check if a specific line position contains a keyword.
bool ASBase::findKeyword(const std::string& line, int i, const std::string& keyword) const
bool ASBase::findKeyword(std::string_view line, int i, std::string_view keyword) const
{
//std::cerr << "findKeyword "<< i << " "<< line << " -< "<< keyword << "\n";
assert(isCharPotentialHeader(line, i));
// check the word
const size_t keywordLength = keyword.length();
@@ -678,7 +685,8 @@ bool ASBase::findKeyword(const std::string& line, int i, const std::string& keyw
if (line.compare(i, keywordLength, keyword) != 0)
return false;
// check that this is not part of a longer word
if (wordEnd == line.length()) {
if (wordEnd == line.length())
{
//std::cerr << "findKeyword t1 \n";
return true;
}
@@ -695,8 +703,8 @@ bool ASBase::findKeyword(const std::string& line, int i, const std::string& keyw
}
// check if a specific line position contains an operator.
const std::string* ASBase::findOperator(const std::string& line, int i,
const std::vector<const std::string*>* possibleOperators) const
const std::string* ASBase::findOperator(std::string_view line, int i,
const std::vector<const std::string*>* possibleOperators) const
{
assert(isCharPotentialOperator(line[i]));
// find the operator in the vector
@@ -716,14 +724,16 @@ const std::string* ASBase::findOperator(const std::string& line, int i,
// get the current word on a line
// index must point to the beginning of the word
std::string ASBase::getCurrentWord(const std::string& line, size_t index) const
std::string_view ASBase::getCurrentWord(std::string_view line, size_t index) const
{
assert(isCharPotentialHeader(line, index));
//assert(isCharPotentialHeader(line, index));
size_t lineLength = line.length();
size_t i;
for (i = index; i < lineLength; i++)
{
if (!isLegalNameChar(line[i]))
if (!isLegalNameChar(line[i])
|| ( (isCStyle() || isJavaStyle()) && i > index && line[i]=='.')
)
break;
}
return line.substr(index, i - index);
@@ -737,13 +747,14 @@ bool ASBase::isLegalNameChar(char ch) const
if ((unsigned char) ch > 127)
return false;
return (isalnum((unsigned char) ch)
|| ch == '.' || ch == '_'
|| ch == '_'
|| (!isSharpStyle() && ch == '.' )
|| (isJavaStyle() && ch == '$')
|| (isSharpStyle() && ch == '@')); // may be used as a prefix
}
// check if a specific character can be part of a header
bool ASBase::isCharPotentialHeader(const std::string& line, size_t i) const
bool ASBase::isCharPotentialHeader(std::string_view line, size_t i) const
{
assert(!isWhiteSpace(line[i]));
char prevCh = ' ';
@@ -779,7 +790,7 @@ bool ASBase::isDigit(char ch) const
}
// check if a specific character is a digit separator
bool ASBase::isDigitSeparator(const std::string& line, int i) const
bool ASBase::isDigitSeparator(std::string_view line, int i) const
{
assert(line[i] == '\'');
// casting to (unsigned char) eliminates negative characters
@@ -792,7 +803,7 @@ bool ASBase::isDigitSeparator(const std::string& line, int i) const
}
// peek at the next unread character.
char ASBase::peekNextChar(const std::string& line, int i) const
char ASBase::peekNextChar(std::string_view line, int i) const
{
char ch = ' ';
size_t peekNum = line.find_first_not_of(" \t", i + 1);
+117 -75
View File
@@ -21,6 +21,7 @@
#include <iostream> // for cout
#include <memory>
#include <string>
#include <string_view>
#include <vector>
#ifdef __GNUC__
@@ -52,6 +53,8 @@
#pragma clang diagnostic ignored "-Wshorten-64-to-32"
#endif
#define ASTYLE_VERSION "3.6"
//-----------------------------------------------------------------------------
// astyle namespace
//-----------------------------------------------------------------------------
@@ -62,7 +65,7 @@ namespace astyle {
// definitions
//----------------------------------------------------------------------------
enum FileType { C_TYPE = 0, JAVA_TYPE = 1, SHARP_TYPE = 2, JS_TYPE = 3, OBJC_TYPE = 4, INVALID_TYPE = -1 };
enum FileType { C_TYPE = 0, JAVA_TYPE = 1, SHARP_TYPE = 2, JS_TYPE = 3, OBJC_TYPE = 4, GSC_TYPE = 5, INVALID_TYPE = -1 };
/* The enums below are not recognized by 'vectors' in Microsoft Visual C++
V5 when they are part of a namespace!!! Use Visual C++ V6 or higher.
@@ -167,10 +170,21 @@ enum LineEndFormat
LINEEND_DEFAULT, // Use line break that matches most of the file
LINEEND_WINDOWS,
LINEEND_LINUX,
LINEEND_MACOLD,
LINEEND_CRLF = LINEEND_WINDOWS,
LINEEND_LF = LINEEND_LINUX,
LINEEND_CR = LINEEND_MACOLD
LINEEND_MACOLD
};
enum NegationPaddingMode
{
NEGATION_PAD_NO_CHANGE,
NEGATION_PAD_AFTER,
NEGATION_PAD_BEFORE
};
enum IncludeDirectivePaddingMode
{
INCLUDE_PAD_NO_CHANGE,
INCLUDE_PAD_NONE,
INCLUDE_PAD_AFTER
};
//-----------------------------------------------------------------------------
@@ -263,13 +277,14 @@ public:
static const std::string AS_OPEN_PAREN, AS_CLOSE_PAREN;
static const std::string AS_OPEN_BRACE, AS_CLOSE_BRACE;
static const std::string AS_OPEN_LINE_COMMENT, AS_OPEN_COMMENT, AS_CLOSE_COMMENT;
static const std::string AS_GSC_OPEN_COMMENT, AS_GSC_CLOSE_COMMENT;
static const std::string AS_BAR_DEFINE, AS_BAR_INCLUDE, AS_BAR_IF, AS_BAR_EL, AS_BAR_ENDIF;
static const std::string AS_AUTO, AS_RETURN;
static const std::string AS_CIN, AS_COUT, AS_CERR;
static const std::string AS_CIN, AS_COUT, AS_CERR, AS_MAPPING;
static const std::string AS_ASSIGN, AS_PLUS_ASSIGN, AS_MINUS_ASSIGN, AS_MULT_ASSIGN;
static const std::string AS_DIV_ASSIGN, AS_MOD_ASSIGN, AS_XOR_ASSIGN, AS_OR_ASSIGN, AS_AND_ASSIGN;
static const std::string AS_GR_GR_ASSIGN, AS_LS_LS_ASSIGN, AS_GR_GR_GR_ASSIGN, AS_LS_LS_LS_ASSIGN;
static const std::string AS_GCC_MIN_ASSIGN, AS_GCC_MAX_ASSIGN, AS_SPACESHIP, AS_EQUAL_JS;
static const std::string AS_GCC_MIN_ASSIGN, AS_GCC_MAX_ASSIGN, AS_SPACESHIP, AS_EQUAL_JS, AS_COALESCE_CS;
static const std::string AS_EQUAL, AS_PLUS_PLUS, AS_MINUS_MINUS, AS_NOT_EQUAL, AS_GR_EQUAL;
static const std::string AS_LS_EQUAL, AS_LS_LS_LS, AS_LS_LS, AS_GR_GR_GR, AS_GR_GR;
static const std::string AS_QUESTION_QUESTION, AS_LAMBDA;
@@ -277,7 +292,7 @@ public:
static const std::string AS_SCOPE_RESOLUTION;
static const std::string AS_PLUS, AS_MINUS, AS_MULT, AS_DIV, AS_MOD, AS_GR, AS_LS;
static const std::string AS_NOT, AS_BIT_XOR, AS_BIT_OR, AS_BIT_AND, AS_BIT_NOT;
static const std::string AS_QUESTION, AS_COLON, AS_SEMICOLON, AS_COMMA;
static const std::string AS_QUESTION, AS_COLON, AS_SEMICOLON, AS_COMMA, AS_DOT;
static const std::string AS_ASM, AS__ASM__, AS_MS_ASM, AS_MS__ASM;
static const std::string AS_QFOREACH, AS_QFOREVER, AS_FOREVER;
static const std::string AS_FOREACH, AS_LOCK, AS_UNSAFE, AS_FIXED;
@@ -303,28 +318,28 @@ protected:
protected: // inline functions
void init(int fileTypeArg) { baseFileType = fileTypeArg; }
bool isCStyle() const { return baseFileType == C_TYPE || baseFileType == OBJC_TYPE; }
bool isCStyle() const { return baseFileType == C_TYPE || baseFileType == OBJC_TYPE || baseFileType == GSC_TYPE; }
bool isJavaStyle() const { return baseFileType == JAVA_TYPE; }
bool isSharpStyle() const { return baseFileType == SHARP_TYPE; }
bool isJSStyle() const { return baseFileType == JS_TYPE; }
bool isObjCStyle() const { return baseFileType == OBJC_TYPE; }
bool isGSCStyle() const { return baseFileType == GSC_TYPE; }
bool isWhiteSpace(char ch) const { return (ch == ' ' || ch == '\t'); }
protected: // functions definitions are at the end of ASResource.cpp
const std::string* findHeader(const std::string& line, int i,
const std::vector<const std::string*>* possibleHeaders) const;
bool findKeyword(const std::string& line, int i, const std::string& keyword) const;
const std::string* findOperator(const std::string& line, int i,
const std::vector<const std::string*>* possibleOperators) const;
std::string getCurrentWord(const std::string& line, size_t index) const;
const std::string* findHeader(std::string_view line, int i,
const std::vector<const std::string*>* possibleHeaders) const;
bool findKeyword(std::string_view line, int i, std::string_view keyword) const;
const std::string* findOperator(std::string_view line, int i,
const std::vector<const std::string*>* possibleOperators) const;
std::string_view getCurrentWord(std::string_view, size_t index) const;
bool isDigit(char ch) const;
bool isLegalNameChar(char ch) const;
bool isCharPotentialHeader(const std::string& line, size_t i) const;
bool isCharPotentialHeader(std::string_view line, size_t i) const;
bool isCharPotentialOperator(char ch) const;
bool isDigitSeparator(const std::string& line, int i) const;
char peekNextChar(const std::string& line, int i) const;
bool isDigitSeparator(std::string_view line, int i) const;
char peekNextChar(std::string_view line, int i) const;
}; // Class ASBase
//-----------------------------------------------------------------------------
@@ -353,8 +368,9 @@ public:
void setAfterParenIndent(bool state);
void setJavaStyle();
void setJSStyle();
void setObjCStyle();
void setSharpStyle();
void setObjCStyle();
void setSharpStyle();
void setGSCStyle();
void setLabelIndent(bool state);
void setMaxContinuationIndentLength(int max);
@@ -393,14 +409,14 @@ public:
protected:
void deleteBeautifierVectors();
int getNextProgramCharDistance(const std::string& line, int i) const;
int getNextProgramCharDistance(std::string_view line, int i) const;
int indexOf(const std::vector<const std::string*>& container, const std::string* element) const;
void setBlockIndent(bool state);
void setBraceIndent(bool state);
void setBraceIndentVtk(bool state);
std::string extractPreprocessorStatement(const std::string& line) const;
std::string trim(const std::string& str) const;
std::string rtrim(const std::string& str) const;
std::string extractPreprocessorStatement(std::string_view line) const;
std::string trim(std::string_view str) const;
std::string rtrim(std::string_view str) const;
// variables set by ASFormatter - must be updated in activeBeautifierStack
int inLineNumber;
@@ -417,18 +433,20 @@ protected:
bool isInBeautifySQL;
bool isInIndentableStruct;
bool isInIndentablePreproc;
bool lambdaIndicator;
private: // functions
void adjustObjCMethodDefinitionIndentation(const std::string& line_);
void adjustObjCMethodCallIndentation(const std::string& line_);
void adjustObjCMethodDefinitionIndentation(std::string_view line_);
void adjustObjCMethodCallIndentation(std::string_view line_);
void adjustParsedLineIndentation(size_t iPrelim, bool isInExtraHeaderIndent);
void computePreliminaryIndentation();
void parseCurrentLine(const std::string& line);
void parseCurrentLine(std::string_view line);
void popLastContinuationIndent();
void processPreprocessor(const std::string& preproc, const std::string& line);
void registerContinuationIndent(const std::string& line, int i, int spaceIndentCount_,
void processPreprocessor(std::string_view preproc, std::string_view line);
void registerContinuationIndent(std::string_view line, int i, int spaceIndentCount_,
int tabIncrementIn, int minIndent, bool updateParenStack);
void registerContinuationIndentColon(const std::string& line, int i, int tabIncrementIn);
void registerContinuationIndentColon(std::string_view line, int i, int tabIncrementIn);
void initVectors();
void initTempStacksContainer(std::vector<std::vector<const std::string*>*>*& container,
std::vector<std::vector<const std::string*>*>* value);
@@ -436,20 +454,20 @@ private: // functions
void deleteBeautifierContainer(std::vector<ASBeautifier*>*& container);
void deleteTempStacksContainer(std::vector<std::vector<const std::string*>*>*& container);
int adjustIndentCountForBreakElseIfComments() const;
int computeObjCColonAlignment(const std::string& line, int colonAlignPosition) const;
int computeObjCColonAlignment(std::string_view line, int colonAlignPosition) const;
int convertTabToSpaces(int i, int tabIncrementIn) const;
int findObjCColonAlignment(const std::string& line) const;
int getContinuationIndentAssign(const std::string& line, size_t currPos) const;
int getContinuationIndentComma(const std::string& line, size_t currPos) const;
int getObjCFollowingKeyword(const std::string& line, int bracePos) const;
bool isIndentedPreprocessor(const std::string& line, size_t currPos) const;
bool isLineEndComment(const std::string& line, int startPos) const;
bool isPreprocessorConditionalCplusplus(const std::string& line) const;
bool isInPreprocessorUnterminatedComment(const std::string& line);
int findObjCColonAlignment(std::string_view line) const;
int getContinuationIndentAssign(std::string_view line, size_t currPos) const;
int getContinuationIndentComma(std::string_view line, size_t currPos) const;
int getObjCFollowingKeyword(std::string_view line, int bracePos) const;
bool isIndentedPreprocessor(std::string_view line, size_t currPos) const;
bool isLineEndComment(std::string_view line, int startPos) const;
bool isPreprocessorConditionalCplusplus(std::string_view line) const;
bool isInPreprocessorUnterminatedComment(std::string_view line);
bool isTopLevel() const;
bool statementEndsWithComma(const std::string& line, int index) const;
const std::string& getIndentedLineReturn(const std::string& newLine, const std::string& originalLine) const;
std::string getIndentedSpaceEquivalent(const std::string& line_) const;
bool statementEndsWithComma(std::string_view line, int index) const;
std::string getIndentedSpaceEquivalent(std::string_view line_) const;
std::string preLineWS(int lineIndentCount, int lineSpaceIndentCount) const;
template<typename T> void deleteContainer(T& container);
template<typename T> void initContainer(T& container, T value);
@@ -555,9 +573,13 @@ private: // variables
bool foundPreCommandMacro;
bool shouldAlignMethodColon;
bool shouldIndentPreprocConditional;
bool lambdaIndicator;
bool squeezeWhitespace;
bool attemptLambdaIndentation;
bool isInAssignment;
bool isInInitializerList;
bool isInMultiLineString;
int indentCount;
int spaceIndentCount;
int spaceIndentObjCMethodAlignment;
@@ -592,6 +614,8 @@ private: // variables
// Class ASEnhancer
//-----------------------------------------------------------------------------
// TODO rewrite methods to return altered stings
class ASEnhancer : protected ASBase
{
public: // functions
@@ -603,11 +627,11 @@ public: // functions
private: // functions
void convertForceTabIndentToSpaces(std::string& line) const;
void convertSpaceIndentToForceTab(std::string& line) const;
size_t findCaseColon(const std::string& line, size_t caseIndex) const;
size_t findCaseColon(std::string_view line, size_t caseIndex) const;
int indentLine(std::string& line, int indent) const;
bool isBeginDeclareSectionSQL(const std::string& line, size_t index) const;
bool isEndDeclareSectionSQL(const std::string& line, size_t index) const;
bool isOneLineBlockReached(const std::string& line, int startChar) const;
bool isBeginDeclareSectionSQL(std::string_view line, size_t index) const;
bool isEndDeclareSectionSQL(std::string_view line, size_t index) const;
bool isOneLineBlockReached(std::string_view line, int startChar) const;
void parseCurrentLine(std::string& line, bool isInPreprocessor, bool isInSQL);
size_t processSwitchBlock(std::string& line, size_t index);
int unindentLine(std::string& line, int unindent) const;
@@ -682,7 +706,7 @@ public: // functions
LineEndFormat getLineEndFormat() const;
bool getIsLineReady() const;
void setFormattingStyle(FormatStyle style);
void setAddBracesMode(bool state);
void setAddBracesMode(int state);
void setAddOneLineBracesMode(bool state);
void setRemoveBracesMode(bool state);
void setAttachClass(bool state);
@@ -717,8 +741,15 @@ public: // functions
void setMaxCodeLength(int max);
void setObjCColonPaddingMode(ObjCColonPad mode);
void setOperatorPaddingMode(bool state);
void setNegationPaddingMode(NegationPaddingMode mode);
void setIncludeDirectivePaddingMode(IncludeDirectivePaddingMode mode);
void setParensOutsidePaddingMode(bool state);
void setParensFirstPaddingMode(bool state);
void setEmptyParensPaddingMode(bool state);
void setParensInsidePaddingMode(bool state);
void setParensHeaderPaddingMode(bool state);
void setParensUnPaddingMode(bool state);
@@ -751,8 +782,8 @@ private: // functions
char peekNextChar() const;
BraceType getBraceType();
bool adjustChecksumIn(int adjustment);
bool computeChecksumIn(const std::string& currentLine_);
bool computeChecksumOut(const std::string& beautifiedLine);
bool computeChecksumIn(std::string_view currentLine_);
bool computeChecksumOut(std::string_view beautifiedLine);
bool addBracesToStatement();
bool removeBracesFromStatement();
bool commentAndHeaderFollows();
@@ -768,22 +799,22 @@ private: // functions
bool isClosingHeader(const std::string* header) const;
bool isCurrentBraceBroken() const;
bool isDereferenceOrAddressOf() const;
bool isExecSQL(const std::string& line, size_t index) const;
bool isEmptyLine(const std::string& line) const;
bool isExecSQL(std::string_view line, size_t index) const;
bool isEmptyLine(std::string_view line) const;
bool isExternC() const;
bool isMultiStatementLine() const;
bool isNextWordSharpNonParenHeader(int startChar) const;
bool isNonInStatementArrayBrace() const;
bool isNumericVariable(const std::string& word) const;
bool isNumericVariable(std::string_view word) const;
bool isOkToSplitFormattedLine();
bool isPointerOrReference() const;
bool isPointerOrReferenceCentered() const;
bool isPointerOrReferenceVariable(const std::string& word) const;
bool isPointerToPointer(const std::string& line, int currPos) const;
bool isPointerOrReferenceVariable(std::string_view word) const;
bool isPointerToPointer(std::string_view line, int currPos) const;
bool isSharpStyleWithParen(const std::string* header) const;
bool isStructAccessModified(const std::string& firstLine, size_t index) const;
bool isIndentablePreprocessorBlock(const std::string& firstLine, size_t index);
bool isNDefPreprocStatement(const std::string& nextLine_, const std::string& preproc) const;
bool isNDefPreprocStatement(std::string_view nextLine_, std::string_view preproc) const;
bool isUnaryOperator() const;
bool isUniformInitializerBrace() const;
bool isImmediatelyPostCast() const;
@@ -796,19 +827,19 @@ private: // functions
int findObjCColonAlignment() const;
int getCurrentLineCommentAdjustment();
int getNextLineCommentAdjustment();
int isOneLineBlockReached(const std::string& line, int startChar) const;
int isOneLineBlockReached(std::string_view line, int startChar) const;
void adjustComments();
void appendChar(char ch, bool canBreakLine);
void appendCharInsideComments();
void appendClosingHeader();
void appendOperator(const std::string& sequence, bool canBreakLine = true);
void appendSequence(const std::string& sequence, bool canBreakLine = true);
void appendOperator(std::string_view sequence, bool canBreakLine = true);
void appendSequence(std::string_view sequence, bool canBreakLine = true);
void appendSpacePad();
void appendSpaceAfter();
void breakLine(bool isSplitLine = false);
void buildLanguageVectors();
void updateFormattedLineSplitPoints(char appendedChar);
void updateFormattedLineSplitPointsOperator(const std::string& sequence);
void updateFormattedLineSplitPointsOperator(std::string_view sequence);
void checkIfTemplateOpener();
void clearFormattedLineSplitPoints();
void convertTabToSpaces();
@@ -841,7 +872,7 @@ private: // functions
void padObjCParamType();
void padObjCReturnType();
void padOperators(const std::string* newOperator);
void padParensOrBrackets(char openDelim, char closeDelim, bool shouldPadParensOutside, bool shouldPadParensInside, bool shouldUnPadParens, bool shouldPadFirstParen);
void padParensOrBrackets(char openDelim, char closeDelim, bool padFirstParen);
void processPreprocessor();
void resetEndOfStatement();
void setAttachClosingBraceMode(bool state);
@@ -850,13 +881,13 @@ private: // functions
void trimContinuationLine();
void updateFormattedLineSplitPointsPointerOrReference(size_t index);
size_t findFormattedLineSplitPoint() const;
size_t findNextChar(const std::string& line, char searchChar, int searchStart = 0) const;
const std::string* checkForHeaderFollowingComment(const std::string& firstLine) const;
size_t findNextChar(std::string_view line, char searchChar, int searchStart = 0) const;
const std::string* checkForHeaderFollowingComment(std::string_view firstLine) const;
const std::string* getFollowingOperator() const;
std::string getPreviousWord(const std::string& line, int currPos) const;
std::string peekNextText(const std::string& firstLine,
bool endOnEmptyLine = false,
const std::shared_ptr<ASPeekStream>& streamArg = nullptr) const;
std::string getPreviousWord(const std::string& line, int currPos, bool allowDots = false) const;
std::string peekNextText(std::string_view firstLine,
bool endOnEmptyLine = false,
const std::shared_ptr<ASPeekStream>& streamArg = nullptr) const;
private: // variables
int formatterFileType;
@@ -883,6 +914,7 @@ private: // variables
std::string readyFormattedLine;
std::string verbatimDelimiter;
const std::string* currentHeader;
const std::string* previousHeader;
char currentChar;
char previousChar;
char previousNonWSChar;
@@ -899,8 +931,9 @@ private: // variables
int templateDepth;
int squareBracketCount;
int parenthesesCount;
int squeezeEmptyLineNum;
int squeezeEmptyLineCount;
int closingBracesCount;
size_t squeezeEmptyLineNum;
size_t squeezeEmptyLineCount;
size_t checksumIn;
size_t checksumOut;
@@ -933,12 +966,16 @@ private: // variables
ReferenceAlign referenceAlignment;
ObjCColonPad objCColonPadMode;
LineEndFormat lineEnd;
NegationPaddingMode negationPadMode;
IncludeDirectivePaddingMode includeDirectivePaddingMode;
bool isVirgin;
bool isInVirginLine;
bool shouldPadCommas;
bool shouldPadOperators;
bool shouldPadParensOutside;
bool shouldPadFirstParen;
bool shouldPadEmptyParens;
bool shouldPadParensInside;
bool shouldPadHeader;
bool shouldStripCommentPrefix;
@@ -993,7 +1030,7 @@ private: // variables
bool isFormattingModeOff;
bool isInEnum;
bool isInStruct;
bool isInContinuedPreProc;
bool isInContinuedPreProc;
bool isInExecSQL;
bool isInAsm;
bool isInAsmOneLine;
@@ -1031,7 +1068,7 @@ private: // variables
bool shouldBreakClosingHeaderBraces;
bool shouldBreakElseIfs;
bool shouldBreakLineAfterLogical;
bool shouldAddBraces;
int shouldAddBraces;
bool shouldAddOneLineBraces;
bool shouldRemoveBraces;
bool shouldPadMethodColon;
@@ -1083,15 +1120,20 @@ private: // variables
bool isFirstPreprocConditional;
bool processedFirstConditional;
bool isJavaStaticConstructor;
bool isInAllocator;
bool isInMultlineStatement;
int isInExplicitBlock;
private: // inline functions
// append the CURRENT character (curentChar) to the current formatted line.
// append the CURRENT character (currentChar) to the current formatted line.
void appendCurrentChar(bool canBreakLine = true)
{ appendChar(currentChar, canBreakLine); }
// check if a specific sequence exists in the current placement of the current line
bool isSequenceReached(const char* sequence) const
{ return currentLine.compare(charNum, strlen(sequence), sequence) == 0; }
bool isSequenceReached(std::string_view sequence) const
{
return currentLine.compare(charNum, sequence.length(), sequence) == 0;
}
// call ASBase::findHeader for the current character
const std::string* findHeader(const std::vector<const std::string*>* headers_)
+215 -304
View File
@@ -34,6 +34,7 @@
//-----------------------------------------------------------------------------
#include "astyle_main.h"
#include "astyle.h"
#include <algorithm>
#include <cerrno>
@@ -46,6 +47,10 @@
#ifdef _WIN32
#undef UNICODE // use ASCII windows functions
#include <Windows.h>
#include <io.h>
#include <fcntl.h>
#else
#include <dirent.h>
#include <sys/stat.h>
@@ -94,7 +99,7 @@ namespace astyle {
jmethodID g_mid;
#endif
const char* g_version = "3.4";
const char* g_version = ASTYLE_VERSION;
//-----------------------------------------------------------------------------
// ASStreamIterator class
@@ -107,9 +112,7 @@ ASStreamIterator<T>::ASStreamIterator(T* in)
{
inStream = in;
buffer.reserve(200);
eolWindows = 0;
eolLinux = 0;
eolMacOld = 0;
peekStart = 0;
prevLineDeleted = false;
checkForEmptyLine = false;
@@ -174,6 +177,10 @@ std::string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
return buffer;
}
lastOutputEOL.clear();
lastOutputEOL.append(1, ch);
int peekCh = inStream->peek();
// find input end-of-line characters
@@ -183,21 +190,17 @@ std::string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
{
if (peekCh == '\n')
{
lastOutputEOL.append(1, peekCh);
inStream->get();
eolWindows++;
}
else
eolMacOld++;
}
else // LF is Linux, allow for improbable LF/CR
{
if (peekCh == '\r')
{
lastOutputEOL.append(1, peekCh);
inStream->get();
eolWindows++;
}
else
eolLinux++;
}
}
else
@@ -205,29 +208,6 @@ std::string ASStreamIterator<T>::nextLine(bool emptyLineWasDeleted)
inStream->clear();
}
// has not detected an input end of line
if (!eolWindows && !eolLinux && !eolMacOld)
{
#ifdef _WIN32
eolWindows++;
#else
eolLinux++;
#endif
}
// set output end of line characters
if (eolWindows >= eolLinux)
{
if (eolWindows >= eolMacOld)
outputEOL = "\r\n"; // Windows (CR+LF)
else
outputEOL = "\r"; // MacOld (CR)
}
else if (eolLinux >= eolMacOld)
outputEOL = "\n"; // Linux (LF)
else
outputEOL = "\r"; // MacOld (CR)
return buffer;
}
@@ -295,33 +275,6 @@ std::streamoff ASStreamIterator<T>::tellg()
return inStream->tellg();
}
// check for a change in line ends
template<typename T>
bool ASStreamIterator<T>::getLineEndChange(int lineEndFormat) const
{
assert(lineEndFormat == LINEEND_DEFAULT
|| lineEndFormat == LINEEND_WINDOWS
|| lineEndFormat == LINEEND_LINUX
|| lineEndFormat == LINEEND_MACOLD);
bool lineEndChange = false;
if (lineEndFormat == LINEEND_WINDOWS)
lineEndChange = (eolLinux + eolMacOld != 0);
else if (lineEndFormat == LINEEND_LINUX)
lineEndChange = (eolWindows + eolMacOld != 0);
else if (lineEndFormat == LINEEND_MACOLD)
lineEndChange = (eolWindows + eolLinux != 0);
else
{
if (eolWindows > 0)
lineEndChange = (eolLinux + eolMacOld != 0);
else if (eolLinux > 0)
lineEndChange = (eolWindows + eolMacOld != 0);
else if (eolMacOld > 0)
lineEndChange = (eolWindows + eolLinux != 0);
}
return lineEndChange;
}
//-----------------------------------------------------------------------------
// ASConsole class
@@ -348,7 +301,6 @@ ASConsole::ASConsole(ASFormatter& formatterArg) : formatter(formatterArg)
bypassBrowserOpen = false;
hasWildcard = false;
filesAreIdentical = true;
lineEndsMixed = false;
origSuffix = ".orig";
mainDirectoryLength = 0;
filesFormatted = 0;
@@ -356,127 +308,42 @@ ASConsole::ASConsole(ASFormatter& formatterArg) : formatter(formatterArg)
linesOut = 0;
}
// rewrite a stringstream converting the line ends
void ASConsole::convertLineEnds(std::ostringstream& out, int lineEnd)
{
assert(lineEnd == LINEEND_WINDOWS || lineEnd == LINEEND_LINUX || lineEnd == LINEEND_MACOLD);
const std::string& inStr = out.str(); // avoids strange looking syntax
std::string outStr; // the converted output
int inLength = (int) inStr.length();
for (int pos = 0; pos < inLength; pos++)
{
if (inStr[pos] == '\r')
{
if (inStr[pos + 1] == '\n')
{
// CRLF
if (lineEnd == LINEEND_CR)
{
outStr += inStr[pos]; // Delete the LF
pos++;
continue;
}
if (lineEnd == LINEEND_LF)
{
outStr += inStr[pos + 1]; // Delete the CR
pos++;
continue;
}
outStr += inStr[pos]; // Do not change
outStr += inStr[pos + 1];
pos++;
continue;
}
else // NOLINT
{
// CR
if (lineEnd == LINEEND_CRLF)
{
outStr += inStr[pos]; // Insert the CR
outStr += '\n'; // Insert the LF
continue;
}
if (lineEnd == LINEEND_LF)
{
outStr += '\n'; // Insert the LF
continue;
}
outStr += inStr[pos]; // Do not change
continue;
}
}
else if (inStr[pos] == '\n')
{
// LF
if (lineEnd == LINEEND_CRLF)
{
outStr += '\r'; // Insert the CR
outStr += inStr[pos]; // Insert the LF
continue;
}
if (lineEnd == LINEEND_CR)
{
outStr += '\r'; // Insert the CR
continue;
}
outStr += inStr[pos]; // Do not change
continue;
}
else
{
outStr += inStr[pos]; // Write the current char
}
}
// replace the stream
out.str(outStr);
}
void ASConsole::correctMixedLineEnds(std::ostringstream& out)
{
LineEndFormat lineEndFormat = LINEEND_DEFAULT;
if (outputEOL == "\r\n")
lineEndFormat = LINEEND_WINDOWS;
if (outputEOL == "\n")
lineEndFormat = LINEEND_LINUX;
if (outputEOL == "\r")
lineEndFormat = LINEEND_MACOLD;
convertLineEnds(out, lineEndFormat);
}
// check files for 16 or 32 bit encoding
// the file must have a Byte Order Mark (BOM)
// NOTE: some string functions don't work with NULLs (e.g. length())
FileEncoding ASConsole::detectEncoding(const char* data, size_t dataSize) const
{
if (dataSize >= 3 && memcmp(data, "\xEF\xBB\xBF", 3) == 0)
{
return UTF_8BOM;
}
if (dataSize >= 3 && memcmp(data, "\xEF\xBB\xBF", 3) == 0)
{
return UTF_8BOM;
}
if (dataSize >= 4)
{
if (memcmp(data, "\x00\x00\xFE\xFF", 4) == 0)
{
return UTF_32BE;
}
else if (memcmp(data, "\xFF\xFE\x00\x00", 4) == 0)
{
return UTF_32LE;
}
}
if (dataSize >= 4)
{
if (memcmp(data, "\x00\x00\xFE\xFF", 4) == 0)
{
return UTF_32BE;
}
else if (memcmp(data, "\xFF\xFE\x00\x00", 4) == 0)
{
return UTF_32LE;
}
}
if (dataSize >= 2)
{
if (memcmp(data, "\xFE\xFF", 2) == 0)
{
return UTF_16BE;
}
else if (memcmp(data, "\xFF\xFE", 2) == 0)
{
return UTF_16LE;
}
}
return ENCODING_8BIT;
if (dataSize >= 2)
{
if (memcmp(data, "\xFE\xFF", 2) == 0)
{
return UTF_16BE;
}
else if (memcmp(data, "\xFF\xFE", 2) == 0)
{
return UTF_16LE;
}
}
return ENCODING_8BIT;
}
// error exit without a message
@@ -520,6 +387,13 @@ void ASConsole::formatCinToCout()
// Copying the input sequentially to a stringstream before
// formatting solves the problem for both.
std::istream* inStream = &std::cin;
// enforce binary mode to avoid auto conversion of \n to \r\n
#ifdef _WIN32
_setmode( _fileno( stdout ), _O_BINARY );
_setmode( _fileno( stdin ), _O_BINARY );
#endif
std::stringstream outStream;
char ch;
inStream->get(ch);
@@ -529,22 +403,21 @@ void ASConsole::formatCinToCout()
inStream->get(ch);
}
ASStreamIterator<std::stringstream> streamIterator(&outStream);
// Windows pipe or redirection always outputs Windows line-ends.
// Linux pipe or redirection will output any line end.
#ifdef _WIN32
LineEndFormat lineEndFormat = LINEEND_DEFAULT;
#else
LineEndFormat lineEndFormat = formatter.getLineEndFormat();
#endif // _WIN32
initializeOutputEOL(lineEndFormat);
initializeOutputEOL(formatter.getLineEndFormat());
formatter.init(&streamIterator);
while (formatter.hasMoreLines())
{
std::cout << formatter.nextLine();
if (LINEEND_DEFAULT == formatter.getLineEndFormat()){
outputEOL = streamIterator.getLastOutputEOL();
}
if (formatter.hasMoreLines())
{
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
std::cout << outputEOL;
}
else
@@ -552,7 +425,6 @@ void ASConsole::formatCinToCout()
// this can happen if the file if missing a closing brace and break-blocks is requested
if (formatter.getIsLineReady())
{
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
std::cout << outputEOL;
std::cout << formatter.nextLine();
}
@@ -587,8 +459,8 @@ void ASConsole::formatFile(const std::string& fileName_)
// set line end format
std::string nextLine; // next output line
filesAreIdentical = true; // input and output files are identical
LineEndFormat lineEndFormat = formatter.getLineEndFormat();
initializeOutputEOL(lineEndFormat);
initializeOutputEOL(formatter.getLineEndFormat());
// do this AFTER setting the file mode
ASStreamIterator<std::stringstream> streamIterator(&in);
formatter.init(&streamIterator);
@@ -599,9 +471,13 @@ void ASConsole::formatFile(const std::string& fileName_)
nextLine = formatter.nextLine();
out << nextLine;
linesOut++;
if (LINEEND_DEFAULT == formatter.getLineEndFormat()){
outputEOL = streamIterator.getLastOutputEOL();
}
if (formatter.hasMoreLines())
{
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
out << outputEOL;
}
else
@@ -610,7 +486,6 @@ void ASConsole::formatFile(const std::string& fileName_)
// this can happen if the file if missing a closing brace and break-blocks is requested
if (formatter.getIsLineReady())
{
setOutputEOL(lineEndFormat, streamIterator.getOutputEOL());
out << outputEOL;
nextLine = formatter.nextLine();
out << nextLine;
@@ -619,42 +494,30 @@ void ASConsole::formatFile(const std::string& fileName_)
}
}
if (filesAreIdentical)
{
if (streamIterator.checkForEmptyLine)
{
if (nextLine.find_first_not_of(" \t") != std::string::npos)
filesAreIdentical = false;
}
else if (!streamIterator.compareToInputBuffer(nextLine))
filesAreIdentical = false;
streamIterator.checkForEmptyLine = false;
if (filesAreIdentical) {
if (streamIterator.checkForEmptyLine) {
filesAreIdentical = (nextLine.find_first_not_of(" \t") == std::string::npos);
} else {
filesAreIdentical = streamIterator.compareToInputBuffer(nextLine) &&
(LINEEND_DEFAULT == formatter.getLineEndFormat() || streamIterator.getLastOutputEOL() == outputEOL);
}
streamIterator.checkForEmptyLine = false;
}
}
// correct for mixed line ends
if (lineEndsMixed)
{
correctMixedLineEnds(out);
filesAreIdentical = false;
}
// remove targetDirectory from filename if required by print
std::string displayName;
std::string displayName(fileName_);
if (hasWildcard)
displayName = fileName_.substr(targetDirectory.length() + 1);
else
displayName = fileName_;
// if file has changed, write the new file
if (!filesAreIdentical || streamIterator.getLineEndChange(lineEndFormat))
if (!filesAreIdentical)
{
if (!isDryRun)
writeFile(fileName_, encoding, out);
printMsg(_("Formatted %s\n"), displayName);
filesFormatted++;
}
else
{
} else {
if (!isFormattedOnly)
printMsg(_("Unchanged %s\n"), displayName);
filesUnchanged++;
@@ -690,14 +553,17 @@ std::string ASConsole::findProjectOptionFilePath(const std::string& fileName_) c
if (endPath != std::string::npos)
{
first.erase(endPath + 1, std::string::npos);
} else {
}
else
{
first = ".";
first.push_back(g_fileSeparator);
}
}
parent = getFullPathName(first);
if (parent[parent.size()] != g_fileSeparator) {
if (parent[parent.size()] != g_fileSeparator)
{
parent.push_back(g_fileSeparator);
}
@@ -795,10 +661,6 @@ bool ASConsole::getIsRecursive() const
bool ASConsole::getIsVerbose() const
{ return isVerbose; }
// for unit testing
bool ASConsole::getLineEndsMixed() const
{ return lineEndsMixed; }
// for unit testing
bool ASConsole::getNoBackup() const
{ return noBackup; }
@@ -915,9 +777,7 @@ void ASConsole::initializeOutputEOL(LineEndFormat lineEndFormat)
|| lineEndFormat == LINEEND_LINUX
|| lineEndFormat == LINEEND_MACOLD);
outputEOL.clear(); // current line end
prevEOL.clear(); // previous line end
lineEndsMixed = false; // output has mixed line ends, LINEEND_DEFAULT only
outputEOL = "\n";
if (lineEndFormat == LINEEND_WINDOWS)
outputEOL = "\r\n";
@@ -925,8 +785,6 @@ void ASConsole::initializeOutputEOL(LineEndFormat lineEndFormat)
outputEOL = "\n";
else if (lineEndFormat == LINEEND_MACOLD)
outputEOL = "\r";
else
outputEOL.clear();
}
// read a file into the stringstream 'in'
@@ -1018,28 +876,6 @@ void ASConsole::setStdPathIn(const std::string& path)
void ASConsole::setStdPathOut(const std::string& path)
{ stdPathOut = path; }
// set outputEOL variable
void ASConsole::setOutputEOL(LineEndFormat lineEndFormat, const std::string& currentEOL)
{
if (lineEndFormat == LINEEND_DEFAULT)
{
outputEOL = currentEOL;
if (prevEOL.empty())
prevEOL = outputEOL;
if (prevEOL != outputEOL)
{
lineEndsMixed = true;
filesAreIdentical = false;
prevEOL = outputEOL;
}
}
else
{
prevEOL = currentEOL;
if (prevEOL != outputEOL)
filesAreIdentical = false;
}
}
#ifdef _WIN32 // Windows specific
@@ -1337,6 +1173,7 @@ void ASConsole::getFileNames(const std::string& directory, const std::vector<std
{
// get file status
std::string entryFilepath = directory + g_fileSeparator + entry->d_name;
if (stat(entryFilepath.c_str(), &statbuf) != 0)
{
if (errno == EOVERFLOW) // file over 2 GB is OK
@@ -1513,7 +1350,7 @@ bool ASConsole::isHomeOrInvalidAbsPath(const std::string& absPath) const
if (env == nullptr)
return true;
return (absPath.compare(env) == 0 || absPath=="/" );
return (absPath.compare(env) == 0 || absPath == "/" );
}
/**
@@ -1698,8 +1535,10 @@ void ASConsole::getFilePaths(const std::string& filePath)
}
else
{
// verify a single file is not a directory (needed on Linux)
std::string entryFilepath = targetDirectory + g_fileSeparator + targetFilename;
struct stat statbuf;
if (stat(entryFilepath.c_str(), &statbuf) == 0 && (statbuf.st_mode & S_IFREG))
fileName.emplace_back(entryFilepath);
@@ -2084,6 +1923,20 @@ void ASConsole::printHelp() const
std::cout << " --pad-comma OR -xg\n";
std::cout << " Insert space padding after commas.\n";
std::cout << std::endl;
std::cout << " --pad-include\n";
std::cout << " Insert space padding after include directives.\n";
std::cout << std::endl;
std::cout << " --pad-include=none\n";
std::cout << " Remove space padding after include directives.\n";
std::cout << std::endl;
std::cout << " --pad-negation\n";
std::cout << " Insert space padding after negations.\n";
std::cout << std::endl;
std::cout << " --pad-negation=before\n";
std::cout << " Insert space padding also before negations.\n";
std::cout << std::endl;
std::cout << " --pad-paren OR -P\n";
std::cout << " Insert space padding around parenthesis on both the outside\n";
std::cout << " and the inside.\n";
@@ -2098,6 +1951,10 @@ void ASConsole::printHelp() const
std::cout << " --pad-paren-in OR -D\n";
std::cout << " Insert space padding around parenthesis on the inside only.\n";
std::cout << std::endl;
std::cout << " --pad-empty-paren OR -xo\n";
std::cout << " Apply padding to empty pairs of parentheses; combine with other\n";
std::cout << " parenthesis padding options.\n";
std::cout << std::endl;
std::cout << " --pad-header OR -H\n";
std::cout << " Insert space padding after paren headers (e.g. 'if', 'for'...).\n";
std::cout << std::endl;
@@ -2108,10 +1965,16 @@ void ASConsole::printHelp() const
std::cout << " --pad-brackets\n";
std::cout << " Insert space padding around square brackets on both the outside\n";
std::cout << " and the inside (experimental).\n";
std::cout << " and the inside.\n";
std::cout << std::endl;
std::cout << " --pad-brackets-in\n";
std::cout << " Insert space padding around square brackets on the inside only.\n";
std::cout << std::endl;
std::cout << " --pad-brackets-out\n";
std::cout << " Insert space padding around square brackets on the outside only.\n";
std::cout << std::endl;
std::cout << " --unpad-brackets\n";
std::cout << " Remove unnecessary space padding around square brackets (experimental).\n";
std::cout << " Remove unnecessary space padding around square brackets.\n";
std::cout << std::endl;
std::cout << " --delete-empty-lines OR -xe\n";
@@ -2123,10 +1986,10 @@ void ASConsole::printHelp() const
std::cout << " previous lines.\n";
std::cout << std::endl;
std::cout << " --squeeze-lines=#\n";
std::cout << " Remove superfluous empty lines exceeding the given number (experimental).\n";
std::cout << " Remove superfluous empty lines exceeding the given number.\n";
std::cout << std::endl;
std::cout << " --squeeze-ws\n";
std::cout << " Remove superfluous whitespace (experimental).\n";
std::cout << " Remove superfluous whitespace.\n";
std::cout << std::endl;
std::cout << " --align-pointer=type OR -k1\n";
std::cout << " --align-pointer=middle OR -k2\n";
@@ -2158,6 +2021,7 @@ void ASConsole::printHelp() const
std::cout << " statement residing on the same line.\n";
std::cout << std::endl;
std::cout << " --add-braces OR -j\n";
std::cout << " --add-braces=nested (experimental)\n";
std::cout << " Add braces to unbraced one line conditional statements.\n";
std::cout << std::endl;
std::cout << " --add-one-line-braces OR -J\n";
@@ -2218,6 +2082,9 @@ void ASConsole::printHelp() const
std::cout << " --mode=js\n";
std::cout << " Indent a JavaScript source file (experimental).\n";
std::cout << std::endl;
std::cout << " --mode=gsc\n";
std::cout << " Indent a GSC source file (experimental).\n";
std::cout << std::endl;
std::cout << "Objective-C Options:\n";
std::cout << "--------------------\n";
std::cout << " --pad-method-prefix OR -xQ\n";
@@ -2361,8 +2228,11 @@ void ASConsole::processFiles()
getFilePaths(fileNameVectorName);
// loop thru fileName vector formatting the files
for (const std::string& file : fileName)
formatFile(file);
for (const std::string& file : fileName) {
if (!stringEndsWith(file, origSuffix))
formatFile(file);
}
}
// files are processed, display stats
@@ -2547,8 +2417,7 @@ void ASConsole::processOptions(const std::vector<std::string>& argvOptions)
assert(strcmp(buf, "\xEF\xBB\xBF") == 0);
}
options.importOptions(optionsIn, fileOptionsVector);
ok = options.parseOptions(fileOptionsVector,
std::string(_("Invalid default options:")));
ok = options.parseOptions(fileOptionsVector);
}
else if (optionFileRequired)
error(_("Cannot open default option file"), optionFileName.c_str());
@@ -2574,8 +2443,7 @@ void ASConsole::processOptions(const std::vector<std::string>& argvOptions)
assert(strcmp(buf, "\xEF\xBB\xBF") == 0);
}
options.importOptions(projectOptionsIn, projectOptionsVector);
ok = options.parseOptions(projectOptionsVector,
std::string(_("Invalid project options:")));
ok = options.parseOptions(projectOptionsVector);
}
if (!ok)
@@ -2586,8 +2454,7 @@ void ASConsole::processOptions(const std::vector<std::string>& argvOptions)
}
// parse the command line options vector for errors
ok = options.parseOptions(optionsVector,
std::string(_("Invalid command line options:")));
ok = options.parseOptions(optionsVector);
if (!ok)
{
(*errorStream) << options.getOptionErrors();
@@ -2784,7 +2651,7 @@ void ASConsole::sleep(int seconds) const
while (clock() < endwait) {}
}
bool ASConsole::stringEndsWith(const std::string& str, const std::string& suffix) const
bool ASConsole::stringEndsWith(std::string_view str, std::string_view suffix) const
{
int strIndex = (int) str.length() - 1;
int suffixIndex = (int) suffix.length() - 1;
@@ -3085,7 +2952,7 @@ ASOptions::ASOptions(ASFormatter& formatterArg, ASConsole& consoleArg)
*
* @return true if no errors, false if errors
*/
bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std::string& errorInfo)
bool ASOptions::parseOptions(std::vector<std::string>& optionsVector)
{
std::vector<std::string>::iterator option;
std::string arg;
@@ -3097,7 +2964,7 @@ bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std:
arg = *option;
if (arg.compare(0, 2, "--") == 0)
parseOption(arg.substr(2), errorInfo);
parseOption(arg.substr(2));
else if (arg[0] == '-')
{
size_t i;
@@ -3109,19 +2976,19 @@ bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std:
&& arg[i - 1] != 'x')
{
// parse the previous option in subArg
parseOption(subArg, errorInfo);
parseOption(subArg);
subArg = "";
}
// append the current option to subArg
subArg.append(1, arg[i]);
}
// parse the last option
parseOption(subArg, errorInfo);
parseOption(subArg);
subArg = "";
}
else
{
parseOption(arg, errorInfo);
parseOption(arg);
subArg = "";
}
}
@@ -3130,8 +2997,11 @@ bool ASOptions::parseOptions(std::vector<std::string>& optionsVector, const std:
return true;
}
void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo)
void ASOptions::parseOption(const std::string& arg)
{
NegationPaddingMode negationPaddingMode = NEGATION_PAD_NO_CHANGE;
IncludeDirectivePaddingMode includeDirectivePaddingMode = INCLUDE_PAD_NO_CHANGE;
if (isOption(arg, "A1", "style=allman") || isOption(arg, "style=bsd") || isOption(arg, "style=break"))
{
formatter.setFormattingStyle(STYLE_ALLMAN);
@@ -3218,10 +3088,15 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
formatter.setModeManuallySet(true);
}
else if (isOption(arg, "mode=objc"))
{
formatter.setObjCStyle();
formatter.setModeManuallySet(true);
}
{
formatter.setObjCStyle();
formatter.setModeManuallySet(true);
}
else if (isOption(arg, "mode=ghc") || isOption(arg, "mode=gsc"))
{
formatter.setGSCStyle();
formatter.setModeManuallySet(true);
}
else if (isParamOption(arg, "t", "indent=tab="))
{
int spaceNum = 4;
@@ -3229,7 +3104,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (spaceNumParam.length() > 0)
spaceNum = atoi(spaceNumParam.c_str());
if (spaceNum < 2 || spaceNum > 20)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
{
formatter.setTabIndentation(spaceNum, false);
@@ -3246,7 +3121,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (spaceNumParam.length() > 0)
spaceNum = atoi(spaceNumParam.c_str());
if (spaceNum < 2 || spaceNum > 20)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
{
formatter.setTabIndentation(spaceNum, true);
@@ -3263,7 +3138,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (tabNumParam.length() > 0)
tabNum = atoi(tabNumParam.c_str());
if (tabNum < 2 || tabNum > 20)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
{
formatter.setForceTabXIndentation(tabNum);
@@ -3280,7 +3155,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (spaceNumParam.length() > 0)
spaceNum = atoi(spaceNumParam.c_str());
if (spaceNum < 2 || spaceNum > 20)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
{
formatter.setSpaceIndentation(spaceNum);
@@ -3297,9 +3172,9 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (contIndentParam.length() > 0)
contIndent = atoi(contIndentParam.c_str());
if (contIndent < 0)
isOptionError(arg, errorInfo);
isOptionError(arg);
else if (contIndent > 4)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
formatter.setContinuationIndentation(contIndent);
}
@@ -3310,7 +3185,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (minIndentParam.length() > 0)
minIndent = atoi(minIndentParam.c_str());
if (minIndent >= MINCOND_END)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
formatter.setMinConditionalIndentOption(minIndent);
}
@@ -3321,7 +3196,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (maxIndentParam.length() > 0)
maxIndent = atoi(maxIndentParam.c_str());
if (maxIndent < 40)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
formatter.setMaxContinuationIndentLength(maxIndent);
}
@@ -3390,6 +3265,10 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
{
formatter.setParensFirstPaddingMode(true);
}
else if (isOption(arg, "xo", "pad-empty-paren"))
{
formatter.setEmptyParensPaddingMode(true);
}
else if (isOption(arg, "D", "pad-paren-in"))
{
formatter.setParensInsidePaddingMode(true);
@@ -3406,6 +3285,22 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
{
formatter.setOperatorPaddingMode(true);
}
else if (isOption(arg, "pad-negation"))
{
negationPaddingMode = NEGATION_PAD_AFTER;
}
else if (isOption(arg, "pad-negation=before"))
{
negationPaddingMode = NEGATION_PAD_BEFORE;
}
else if (isOption(arg, "pad-include"))
{
includeDirectivePaddingMode = INCLUDE_PAD_AFTER;
}
else if (isOption(arg, "pad-include=none"))
{
includeDirectivePaddingMode = INCLUDE_PAD_NONE;
}
else if (isOption(arg, "xg", "pad-comma"))
{
formatter.setCommaPaddingMode(true);
@@ -3414,6 +3309,17 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
{
formatter.setDeleteEmptyLinesMode(true);
}
else if (isParamOption(arg, "squeeze-lines="))
{
int keepEmptyLines = 2;
std::string keepEmptyLinesParam = getParam(arg, "squeeze-lines=");
if (keepEmptyLinesParam.length() > 0)
keepEmptyLines = atoi(keepEmptyLinesParam.c_str());
if (keepEmptyLines < 1)
isOptionError(arg);
else
formatter.setSqueezeEmptyLinesNumber(keepEmptyLines);
}
else if (isOption(arg, "E", "fill-empty-lines"))
{
formatter.setEmptyLineFill(true);
@@ -3443,9 +3349,13 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
{
formatter.setBreakOneLineHeadersMode(true);
}
else if (isOption(arg, "add-braces=nested"))
{
formatter.setAddBracesMode(2);
}
else if (isOption(arg, "j", "add-braces"))
{
formatter.setAddBracesMode(true);
formatter.setAddBracesMode(1);
}
else if (isOption(arg, "J", "add-one-line-braces"))
{
@@ -3478,7 +3388,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (styleParam.length() > 0)
align = atoi(styleParam.c_str());
if (align < 1 || align > 3)
isOptionError(arg, errorInfo);
isOptionError(arg);
else if (align == 1)
formatter.setPointerAlignment(PTR_ALIGN_TYPE);
else if (align == 2)
@@ -3509,7 +3419,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (styleParam.length() > 0)
align = atoi(styleParam.c_str());
if (align < 0 || align > 3)
isOptionError(arg, errorInfo);
isOptionError(arg);
else if (align == 0)
formatter.setReferenceAlignment(REF_ALIGN_NONE);
else if (align == 1)
@@ -3526,9 +3436,9 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (maxLengthParam.length() > 0)
maxLength = atoi(maxLengthParam.c_str());
if (maxLength < 50)
isOptionError(arg, errorInfo);
isOptionError(arg);
else if (maxLength > 200)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
formatter.setMaxCodeLength(maxLength);
}
@@ -3539,7 +3449,7 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
if (maxLengthParam.length() > 0)
maxLength = atoi(maxLengthParam.c_str());
if (maxLength > 200)
isOptionError(arg, errorInfo);
isOptionError(arg);
else
formatter.setMaxCodeLength(maxLength);
}
@@ -3588,17 +3498,21 @@ void ASOptions::parseOption(const std::string& arg, const std::string& errorInfo
formatter.setAttachReturnTypeDecl(true);
}
// To avoid compiler limit of blocks nested too deep.
else if (!parseOptionContinued(arg, errorInfo))
else if (!parseOptionContinued(arg))
{
isOptionError(arg, errorInfo);
isOptionError(arg);
}
formatter.setNegationPaddingMode(negationPaddingMode);
formatter.setIncludeDirectivePaddingMode(includeDirectivePaddingMode);
} // End of parseOption function
// Continuation of parseOption.
// To avoid compiler limit of blocks nested too deep.
// Return 'true' if the option was found and processed.
// Return 'false' if the option was not found.
bool ASOptions::parseOptionContinued(const std::string& arg, const std::string& errorInfo)
bool ASOptions::parseOptionContinued(const std::string& arg)
{
// Objective-C options
if (isOption(arg, "xQ", "pad-method-prefix"))
@@ -3728,7 +3642,7 @@ bool ASOptions::parseOptionContinued(const std::string& arg, const std::string&
if (lineendParam.length() > 0)
lineendType = atoi(lineendParam.c_str());
if (lineendType < 1 || lineendType > 3)
isOptionError(arg, errorInfo);
isOptionError(arg);
else if (lineendType == 1)
formatter.setLineEndFormat(LINEEND_WINDOWS);
else if (lineendType == 2)
@@ -3737,25 +3651,22 @@ bool ASOptions::parseOptionContinued(const std::string& arg, const std::string&
formatter.setLineEndFormat(LINEEND_MACOLD);
}
else if (isOption(arg, "squeeze-ws"))
{
formatter.setSqueezeWhitespace(true);
}
else if (isParamOption(arg, "squeeze-lines="))
{
int keepEmptyLines = 2;
std::string keepEmptyLinesParam = getParam(arg, "squeeze-lines=");
if (keepEmptyLinesParam.length() > 0)
keepEmptyLines = atoi(keepEmptyLinesParam.c_str());
if (keepEmptyLines < 1)
isOptionError(arg, errorInfo);
else
formatter.setSqueezeEmptyLinesNumber(keepEmptyLines);
}
{
formatter.setSqueezeWhitespace(true);
}
else if (isOption(arg, "pad-brackets"))
{
formatter.setBracketsOutsidePaddingMode(true);
formatter.setBracketsInsidePaddingMode(true);
}
else if (isOption(arg, "pad-brackets-in"))
{
formatter.setBracketsInsidePaddingMode(true);
}
else if (isOption(arg, "pad-brackets-out"))
{
formatter.setBracketsOutsidePaddingMode(true);
}
else if (isOption(arg, "unpad-brackets"))
{
formatter.setBracketsUnPaddingMode(true);
@@ -3846,10 +3757,10 @@ bool ASOptions::isOption(const std::string& arg, const char* op1, const char* op
return (isOption(arg, op1) || isOption(arg, op2));
}
void ASOptions::isOptionError(const std::string& arg, const std::string& errorInfo)
void ASOptions::isOptionError(const std::string& arg)
{
if (optionErrors.str().length() == 0)
optionErrors << errorInfo << std::endl; // need main error message
optionErrors << "Invalid Artistic Style options:" << std::endl; // need main error message
optionErrors << "\t" << arg << std::endl;
}
@@ -4302,7 +4213,7 @@ extern "C" EXPORT char* STDCALL AStyleMain(const char* pSourceIn, // the source
options.importOptions(opt, optionsVector);
bool ok = options.parseOptions(optionsVector, "Invalid Artistic Style options:");
bool ok = options.parseOptions(optionsVector);
if (!ok)
fpErrorHandler(130, options.getOptionErrors().c_str());
@@ -4315,13 +4226,13 @@ extern "C" EXPORT char* STDCALL AStyleMain(const char* pSourceIn, // the source
{
out << formatter.nextLine();
if (formatter.hasMoreLines())
out << streamIterator.getOutputEOL();
out << streamIterator.getLastOutputEOL();
else
{
// this can happen if the file if missing a closing brace and break-blocks is requested
if (formatter.getIsLineReady())
{
out << streamIterator.getOutputEOL();
out << streamIterator.getLastOutputEOL();
out << formatter.nextLine();
}
}
+12 -16
View File
@@ -108,7 +108,7 @@ public:
public: // function declarations
explicit ASStreamIterator(T* in);
~ASStreamIterator() override;
bool getLineEndChange(int lineEndFormat) const;
int getStreamLength() const override;
std::string nextLine(bool emptyLineWasDeleted) override;
std::string peekNextLine() override;
@@ -120,10 +120,8 @@ private:
T* inStream; // pointer to the input stream
std::string buffer; // current input line
std::string prevBuffer; // previous input line
std::string outputEOL; // next output end of line char
int eolWindows; // number of Windows line endings, CRLF
int eolLinux; // number of Linux line endings, LF
int eolMacOld; // number of old Mac line endings. CR
std::string lastOutputEOL; // next output end of line char
std::streamoff streamLength; // length of the input file stream
std::streamoff peekStart; // starting position for peekNextLine
bool prevLineDeleted; // the previous input line was deleted
@@ -131,7 +129,7 @@ private:
public: // inline functions
bool compareToInputBuffer(const std::string& nextLine_) const
{ return (nextLine_ == prevBuffer); }
const std::string& getOutputEOL() const { return outputEOL; }
const std::string& getLastOutputEOL() const { return lastOutputEOL; }
std::streamoff getPeekStart() const override { return peekStart; }
bool hasMoreLines() const override { return !inStream->eof(); }
};
@@ -181,7 +179,7 @@ public:
#endif
std::string getOptionErrors() const;
void importOptions(std::stringstream& in, std::vector<std::string>& optionsVector);
bool parseOptions(std::vector<std::string>& optionsVector, const std::string& errorInfo);
bool parseOptions(std::vector<std::string>& optionsVector);
private:
// variables
@@ -196,11 +194,11 @@ private:
std::string getParam(const std::string& arg, const char* op1, const char* op2);
bool isOption(const std::string& arg, const char* op);
bool isOption(const std::string& arg, const char* op1, const char* op2);
void isOptionError(const std::string& arg, const std::string& errorInfo);
void isOptionError(const std::string& arg);
bool isParamOption(const std::string& arg, const char* option);
bool isParamOption(const std::string& arg, const char* option1, const char* option2);
void parseOption(const std::string& arg, const std::string& errorInfo);
bool parseOptionContinued(const std::string& arg, const std::string& errorInfo);
void parseOption(const std::string& arg);
bool parseOptionContinued(const std::string& arg);
};
#ifndef ASTYLE_LIB
@@ -234,11 +232,10 @@ private: // variables
bool filesAreIdentical; // input and output files are identical
int filesFormatted; // number of files formatted
int filesUnchanged; // number of files unchanged
bool lineEndsMixed; // output has mixed line ends
int linesOut; // number of output lines
std::string outputEOL; // current line end
std::string prevEOL; // previous line end
std::string astyleExePath; // absolute executable path and name from argv[0]
std::string optionFileName; // file path and name of the options file
std::string origSuffix; // suffix= option
@@ -260,7 +257,7 @@ public: // functions
explicit ASConsole(ASFormatter& formatterArg);
ASConsole(const ASConsole&) = delete;
ASConsole& operator=(ASConsole const&) = delete;
void convertLineEnds(std::ostringstream& out, int lineEnd);
FileEncoding detectEncoding(const char* data, size_t dataSize) const;
void error() const;
void error(const char* why, const char* what) const;
@@ -309,7 +306,7 @@ public: // functions
void setStdPathIn(const std::string& path);
void setStdPathOut(const std::string& path);
void standardizePath(std::string& path, bool removeBeginningSeparator = false) const;
bool stringEndsWith(const std::string& str, const std::string& suffix) const;
bool stringEndsWith(std::string_view str, std::string_view suffix) const;
void updateExcludeVector(const std::string& suffixParam);
std::vector<std::string> getExcludeVector() const;
std::vector<bool> getExcludeHitsVector() const;
@@ -320,7 +317,7 @@ public: // functions
std::vector<std::string> getFileName() const;
private: // functions
void correctMixedLineEnds(std::ostringstream& out);
void formatFile(const std::string& fileName_);
std::string getParentDirectory(const std::string& absPath) const;
std::string findProjectOptionFilePath(const std::string& fileName_) const;
@@ -345,7 +342,6 @@ private: // functions
FileEncoding readFile(const std::string& fileName_, std::stringstream& in) const;
void removeFile(const char* fileName_, const char* errMsg) const;
void renameFile(const char* oldFileName, const char* newFileName, const char* errMsg) const;
void setOutputEOL(LineEndFormat lineEndFormat, const std::string& currentEOL);
void sleep(int seconds) const;
int waitForRemove(const char* newFileName) const;
int wildcmp(const char* wild, const char* data) const;
+14 -14
View File
@@ -14,27 +14,27 @@
<h1>Artistic Style Developer Information</h1>
<h2 class="large">Objective&#8209;C on Windows and Linux</h2>
<h2 class="large"><span style="white-space: nowrap;">Objective-C</span> on Windows and Linux</h2>
<p>
&nbsp;</p>
<p class="noindent">
The best platform for developing Objective&#8209;C is Mac OS. But Objective&#8209;C programs can also be compiled
and run on Windows or Linux by using GNUstep and an Objective&#8209;C compiler. GNUstep is an object-oriented
library that provides the programmer with a range of libraries and utilities for building Objective&#8209;C
The best platform for developing <span style="white-space: nowrap;">Objective-C</span> is Mac OS. But <span style="white-space: nowrap;">Objective-C</span> programs can also be compiled
and run on Windows or Linux by using GNUstep and an <span style="white-space: nowrap;">Objective-C</span> compiler. GNUstep is an object-oriented
library that provides the programmer with a range of libraries and utilities for building <span style="white-space: nowrap;">Objective-C</span>
applications. GNUstep is generally compatible with recent developments of the MacOS (Cocoa) API.</p>
<p class="noindent">
Objective&#8209;C development environments are not readily available on Windows or Linux.
CodeBlocks can be used if additional options are set and an Objective-C compiler is used.. The Example program
<span style="white-space: nowrap;">Objective-C</span> development environments are not readily available on Windows or Linux.
CodeBlocks can be used if additional options are set and an <span style="white-space: nowrap;">Objective-C</span> compiler is used.. The Example program
can also be compiled by using a text editor with compile capability such as SciTE. Or it may be compiled from
the command line. Or scripts can be written using Python, Batch, Bash, or other scripting languages. Compile options
for each platform are included in the following descriptions.</p>
<h3>Objective&#8209;C on Windows</h3>
<h3><span style="white-space: nowrap;">Objective-C</span> on Windows</h3>
<p>
Objective&#8209;C on Windows requires the GNUstep packages and the MinGW compiler. Installing MinGW is optional
since it is included with GNUstep. If MinGW is installed separately be sure to include the Objective&#8209;C compiler
<span style="white-space: nowrap;">Objective-C</span> on Windows requires the GNUstep packages and the MinGW compiler. Installing MinGW is optional
since it is included with GNUstep. If MinGW is installed separately be sure to include the <span style="white-space: nowrap;">Objective-C</span> compiler
package. The GNUstep installation packages are available at the <a href="http://www.gnustep.org/experience/Windows.html">
GNUstep Windows Installer</a> page. For development you will need GNUstep MSYS, GNUstep Core, and GNUstep
Devel. GNUstep Cairo is optional. For now, it is best to use the "stable" packages.</p>
@@ -48,7 +48,7 @@
the menu display will be separate from the application window. This can be changed by running the "System Preferences"
program and selecting Themes &gt; WinUXThem. Most applications will then display a window with a menu at the top
as in Windows. <a href="http://www.gnustep.it/enrico/gworkspace/">GWorkspace</a> is a fairly large application
that includes source code. It can be used as a reference for Objective&#8209;C coding. The GNUstep MSYS shell
that includes source code. It can be used as a reference for <span style="white-space: nowrap;">Objective-C</span> coding. The GNUstep MSYS shell
must be used for the compile since Autoconf is used. There are INSTALL instructions in the top-level GWorkspace
directory.</p>
<p>
@@ -70,12 +70,12 @@
The compiled Example will run as any other console program. If Artistic Style is linked as a DLL it must be in
the same directory as the example, or in another system path directory.</p>
<h3>Objective&#8209;C on Linux</h3>
<h3><span style="white-space: nowrap;">Objective-C</span> on Linux</h3>
<p>
Objective&#8209;C on Linux requires the GNUstep packages and the GCC or Clang compiler. On many systems GNUstep
<span style="white-space: nowrap;">Objective-C</span> on Linux requires the GNUstep packages and the GCC or Clang compiler. On many systems GNUstep
will be available as a packaged install. For a typical installation the gobjc, gobjc++, gnustep, and
gnustep-core-devel packages are needed. The gobjc packages are the Objective&#8209;C compilers for GCC. If packages
gnustep-core-devel packages are needed. The gobjc packages are the <span style="white-space: nowrap;">Objective-C</span> compilers for GCC. If packages
are not available they can be compiled with source code available at the
<a href="http://www.gnustep.org/">GNUstep</a> website.</p>
<p>
@@ -84,7 +84,7 @@
application menu display is separate from the application window. This can NOT be changed with "System Preferences"
as on Windows. <a href="http://www.gnustep.it/enrico/gworkspace/">GWorkspace</a>
is a fairly large application that includes source code if downloaded from the website. It can be used as a reference
for Objective&#8209;C coding. There are INSTALL instructions in the top-level GWorkspace directory.</p>
for <span style="white-space: nowrap;">Objective-C</span> coding. There are INSTALL instructions in the top-level GWorkspace directory.</p>
<p>
To compile the Artistic Style Example program the GNUstep development packages must be installed. Artistic Style
should be compiled as a shared or static library for linking with the example. In the following options the "-L./"
+9 -9
View File
@@ -20,7 +20,7 @@
&nbsp;</p>
<p class="noindent">
Artistic Style has compile options for creating a shared library (DLL) or static library for use with a Graphical
User Interface (GUI). The shared library can be called from a C++, Objective&#8209;C, C#, or Python program. There
User Interface (GUI). The shared library can be called from a C++, <span style="white-space: nowrap;">Objective-C</span>, C#, or Python program. There
are also compile options for a Java Native Interface (JNI) that allows it to be called from a Java program. Information
on compiling the various configurations of Artistic Style is in the Install Information.</p>
<p class="noindent">
@@ -50,12 +50,12 @@
as a shared or static library from a C++ program. It includes a C++ sample program that can be used to test the
Artistic Style libraries.</p>
<p>
<a href="objc.html">Calling Artistic Style from an Objective-C Program</a> contains information on calling Artistic
Style as a shared or static library from an Objective-C program. It includes an Objective-C sample program that
<a href="objc.html">Calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span> Program</a> contains information on calling Artistic
Style as a shared or static library from an <span style="white-space: nowrap;">Objective-C</span> program. It includes an <span style="white-space: nowrap;">Objective-C</span> sample program that
can be used to test the Artistic Style shared libraries.</p>
<p style="margin-left: 0.5in;">
<a href="gnustep.html">Objective&#8209;C on Windows and Linux</a> contains information on compiling and running
Objective-C programs using GNUstep. It has instructions for compiling the Example program on Windows or
<a href="gnustep.html"><span style="white-space: nowrap;">Objective-C</span> on Windows and Linux</a> contains information on compiling and running
<span style="white-space: nowrap;">Objective-C</span> programs using GNUstep. It has instructions for compiling the Example program on Windows or
Linux.</p>
<p>
<a href="jni.html">Calling Artistic Style as a Java Native Interface</a> contains information on calling Artistic
@@ -99,13 +99,13 @@
<h4>
<a href="https://sourceforge.net/projects/astyle/files/OldFiles/examples/example-objc.zip" target="_blank"
title="open new window">Objective&#8209;C Example</a>
title="open new window"><span style="white-space: nowrap;">Objective-C</span> Example</a>
</h4>
<p>
The example for Objective&#8209;C contains the methods to call Artistic Style from a static or shared library
using an Objective&#8209;C program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
Copy the shared library to the same folder as the Objective&#8209;C Example executable. It will format files in
The example for <span style="white-space: nowrap;">Objective-C</span> contains the methods to call Artistic Style from a static or shared library
using an <span style="white-space: nowrap;">Objective-C</span> program. Compile Artistic Style as a static or shared library using the macro ASTYLE_LIB.
Copy the shared library to the same folder as the <span style="white-space: nowrap;">Objective-C</span> Example executable. It will format files in
the test&#8209;data directory included in the download.</p>
<h4>
+5 -5
View File
@@ -15,20 +15,20 @@
<h1>Artistic Style Developer Information</h1>
<h2 class="large">Calling Artistic Style from an Objective&#8209;C Program</h2>
<h2 class="large">Calling Artistic Style from an <span style="white-space: nowrap;">Objective-C</span> Program</h2>
<p>
&nbsp;</p>
<p class="noindent">
Artistic Style can be compiled as a shared library (DLL) or a static library and linked with an Objective&#8209;C
program. This is usually done on a Mac OS computer. However,&nbsp; <a href="gnustep.html">Objective&#8209;C on Windows
and Linux</a> contains information on compiling and running Objective&#8209;C programs using GNUstep. It has
Artistic Style can be compiled as a shared library (DLL) or a static library and linked with an <span style="white-space: nowrap;">Objective-C</span>
program. This is usually done on a Mac OS computer. However,&nbsp; <a href="gnustep.html"><span style="white-space: nowrap;">Objective-C</span> on Windows
and Linux</a> contains information on compiling and running <span style="white-space: nowrap;">Objective-C</span> programs using GNUstep. It has
instructions for compiling the following example program on Windows or Linux.</p>
<h3>Compile Options</h3>
<p>
To compile AStyle for use with an Objective&#8209;C program the compile option ASTYLE_LIB must be defined. Then
To compile AStyle for use with an <span style="white-space: nowrap;">Objective-C</span> program the compile option ASTYLE_LIB must be defined. Then
AStyle will accept the files and options as parameters from a function call. It is the responsibility of the calling
program to read the source files and accept the options from the user via a graphical interface or other method.
These are then passed via the function call. After the source files are formatted they will be returned to the
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
# Creates a new test case for a single long option
# if the string begins as flag the second part is stored in OPTS
# Examples:
# ./gen_old_file.sh style_kr
# ./gen_old_file.sh flag_attach-namespaces
# Loop through the command-line arguments
for arg in "$@"; do
# Split each argument into 'name' and 'value'
IFS="_" read -r name value <<< "$arg"
dirName="$arg"
mkdir -p "$dirName"
arg="--$name=$value"
if [ "$name" = "flag" ]; then
arg="--$value"
echo "$arg" > "$dirName/OPTS"
fi
# call the astyle version here which is considered as reference for the future
astyle_ref "$arg" < tmp.cpp > "$dirName/tmp.cpp.old"
done
+31
View File
@@ -0,0 +1,31 @@
#!/bin/sh
# run all test cases in the current directory
# it assumes a source file produced by a previous astyle version to compare with the output of the current
#
for dir in */
do
dir=${dir%*/} # remove the trailing "/"
# make string an array
cmd_arg=(${dir//_/ })
# default arg=val based on directory name
arg="--${cmd_arg[0]}=${cmd_arg[1]}"
# custom arguments
if [ -f "$dir/OPTS" ]; then
arg=$(<"$dir/OPTS")
fi
# call the latest astyle here
../../AStyle/build_local/astyle --squeeze-lines=1 "$arg" < tmp.cpp > "$dir/tmp.cpp.new"
diff $dir/tmp.cpp.old $dir/tmp.cpp.new
if [ $? -eq 0 ]; then
rm "$dir/tmp.cpp.new"
else
echo "${dir} -> FAILED"
exit 1
fi
done
@@ -0,0 +1,290 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,320 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0)
{
cout << "x is positive" << endl;
}
else
{
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++)
{
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c)
{
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x)
{
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do
{
x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp)
{
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
{
if (tp == curtab)
{
ui_ext_win_position (wp, validate);
}
else
{
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab)
{
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating)
{
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx
{
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo)
{
case 1:
a += 1;
break;
case 2:
{
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true)
{
new int *[5]; // Remove this and everything works fine
if (5 > 2)
{
abc();
for (int i = 0; i < 6; i++)
{
def();
}
}
else
{
xyz();
for (int i = 0; i < 8; i++)
{
xyz();
}
}
}
return 0;
}
struct s
{
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct
{
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,320 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0)
{
cout << "x is positive" << endl;
}
else
{
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++)
{
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c)
{
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x)
{
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do
{
x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp)
{
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
{
if (tp == curtab)
{
ui_ext_win_position (wp, validate);
}
else
{
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab)
{
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating)
{
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx
{
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo)
{
case 1:
a += 1;
break;
case 2:
{
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true)
{
new int *[5]; // Remove this and everything works fine
if (5 > 2)
{
abc();
for (int i = 0; i < 6; i++)
{
def();
}
}
else
{
xyz();
for (int i = 0; i < 8; i++)
{
xyz();
}
}
}
return 0;
}
struct s
{
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct
{
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,271 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display() {
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main() {
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b) {
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
int x = 1 * 2;
return;
}
int fdfd(int* t) {
return 1;
}
if (*f(xss) < mx) {
return 1;
}
if (**f(xss) < mx) {
return 1;
}
if (t * f(xss) < mx) {
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c) {
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate) {
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void) {
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path) {
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this] {
some_code(argument);
})
, member3(42)
, member4("test") {
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q) {
return;
}
int main(void) {
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn() {
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main() {
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,280 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{ cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{ // Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{ int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0)
{ cout << "x is positive" << endl;
}
else
{ cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++)
{ cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c)
{ func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x)
{ someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do
{ x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{ return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{ int x = 1 * 2;
return;
}
int fdfd(int* t)
{ return 1;
}
if (*f(xss) < mx)
{ return 1;
}
if (**f(xss) < mx)
{ return 1;
}
if (t * f(xss) < mx)
{ return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{ int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{ FOR_ALL_TAB_WINDOWS (tp, wp)
{ if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
{ if (tp == curtab)
{ ui_ext_win_position (wp, validate);
}
else
{ ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab)
{ ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{ win_T* res = lastwin;
while (res->w_floating)
{ res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{ m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{ some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx
{ int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{ return;
}
int main(void)
{
switch (foo)
{ case 1:
a += 1;
break;
case 2:
{ a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{ some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{ while (true)
{ new int *[5]; // Remove this and everything works fine
if (5 > 2)
{ abc();
for (int i = 0; i < 6; i++)
{ def();
}
}
else
{ xyz();
for (int i = 0; i < 8; i++)
{ xyz();
}
}
}
return 0;
}
struct s
{
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct
{ uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,271 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display() {
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main() {
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b) {
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
int x = 1 * 2;
return;
}
int fdfd(int* t) {
return 1;
}
if (*f(xss) < mx) {
return 1;
}
if (**f(xss) < mx) {
return 1;
}
if (t * f(xss) < mx) {
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c) {
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate) {
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void) {
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path) {
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this] {
some_code(argument);
})
, member3(42)
, member4("test") {
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q) {
return;
}
int main(void) {
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn() {
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main() {
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,290 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,290 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,231 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display() {
cout << "MyValue: " << myValue << endl; }
private:
int myValue; };
int main() {
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl; }
else {
cout << "x is non-positive" << endl; }
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl; }
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0; } }
int x2;
do {
x2 = 1; }
while (func(foo,
bar));
return 0; }
// Function definition
int add(int a, int b) {
return a + b; }
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
int x = 1 * 2;
return; }
int fdfd(int* t) {
return 1; }
if (*f(xss) < mx) {
return 1; }
if (**f(xss) < mx) {
return 1; }
if (t * f(xss) < mx) {
return 1; }
int* p = (int*)& _mem;
void foo(int a, int c) {
int* p = (int*)& _mem; }
void win_ui_flush (bool validate) {
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate); }
else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false; } }
if (tp == curtab) {
ui_ext_win_viewport (wp); } } }
win_T* lastwin_nofloating (void) {
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev; }
return res; }
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path) {
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str(); }).share(); }
Test::Test() : member1(argument)
, member2([this] {
some_code(argument); })
, member3(42)
, member4("test") {}
struct xxxx {
int a, b, c; };
(struct xxxxx *p);
int main(int * p, int *q) {
return; }
int main(void) {
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break; } }
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0; }
mapping someData = ([
"key": "value",
]);
void fn() {
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
])); }
int main() {
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def(); } }
else {
xyz();
for (int i = 0; i < 8; i++) {
xyz(); } } }
return 0; }
struct s {
public:
inline s() :
size(x),
ia {new int [y] },
ia {new int [y] }
{} }
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void); }
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void); }
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void); }
@@ -0,0 +1,296 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx
{
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s
{
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct
{
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,236 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{ cout << "MyValue: " << myValue << endl; }
private:
int myValue; };
int main()
{ // Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{ int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0)
{ cout << "x is positive" << endl; }
else
{ cout << "x is non-positive" << endl; }
// Loop
for (int i = 0; i < 5; i++)
{ cout << "Iteration " << i + 1 << endl; }
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c)
{ func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x)
{ someVal = someVal2 =
someVal3 = someVal4 = 0; } }
int x2;
do
{ x2 = 1; }
while (func(foo,
bar));
return 0; }
// Function definition
int add(int a, int b)
{ return a + b; }
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{ int x = 1 * 2;
return; }
int fdfd(int* t)
{ return 1; }
if (*f(xss) < mx)
{ return 1; }
if (**f(xss) < mx)
{ return 1; }
if (t * f(xss) < mx)
{ return 1; }
int* p = (int*)& _mem;
void foo(int a, int c)
{ int* p = (int*)& _mem; }
void win_ui_flush (bool validate)
{ FOR_ALL_TAB_WINDOWS (tp, wp)
{ if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
{ if (tp == curtab)
{ ui_ext_win_position (wp, validate); }
else
{ ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false; } }
if (tp == curtab)
{ ui_ext_win_viewport (wp); } } }
win_T* lastwin_nofloating (void)
{ win_T* res = lastwin;
while (res->w_floating)
{ res = res->w_prev; }
return res; }
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{ m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str(); }).share(); }
Test::Test() : member1(argument)
, member2([this]
{ some_code(argument); })
, member3(42)
, member4("test")
{}
struct xxxx
{ int a, b, c; };
(struct xxxxx *p);
int main(int * p, int *q)
{ return; }
int main(void)
{
switch (foo)
{ case 1:
a += 1;
break;
case 2:
{ a += 2;
break; } }
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0; }
mapping someData = ([
"key": "value",
]);
void fn()
{ some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
])); }
int main()
{ while (true)
{ new int *[5]; // Remove this and everything works fine
if (5 > 2)
{ abc();
for (int i = 0; i < 6; i++)
{ def(); } }
else
{ xyz();
for (int i = 0; i < 8; i++)
{ xyz(); } } }
return 0; }
struct s
{
public:
inline s() :
size(x),
ia {new int [y] },
ia {new int [y] }
{} }
#define MY_BITFIELD_WIDTH
typedef struct
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void); }
struct
{ uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void); }
typedef struct
{ uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void); }
@@ -0,0 +1,275 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display() {
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main() {
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
}
else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b) {
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
int x = 1 * 2;
return;
}
int fdfd(int* t) {
return 1;
}
if (*f(xss) < mx) {
return 1;
}
if (**f(xss) < mx) {
return 1;
}
if (t * f(xss) < mx) {
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c) {
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate) {
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
}
else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void) {
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path) {
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this] {
some_code(argument);
})
, member3(42)
, member4("test") {
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q) {
return;
}
int main(void) {
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn() {
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main() {
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
}
else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,293 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
}
else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
}
else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
}
else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,320 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0)
{
cout << "x is positive" << endl;
}
else
{
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++)
{
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c)
{
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x)
{
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do
{
x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp)
{
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
{
if (tp == curtab)
{
ui_ext_win_position (wp, validate);
}
else
{
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab)
{
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating)
{
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx
{
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo)
{
case 1:
a += 1;
break;
case 2:
{
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true)
{
new int *[5]; // Remove this and everything works fine
if (5 > 2)
{
abc();
for (int i = 0; i < 6; i++)
{
def();
}
}
else
{
xyz();
for (int i = 0; i < 8; i++)
{
xyz();
}
}
}
return 0;
}
struct s
{
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct
{
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,289 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do {
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]() {
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
@@ -0,0 +1,320 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass
{
public:
MyClass (int value) : myValue (value ) {}
void display()
{
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main()
{
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct // Structure declaration
{
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0)
{
cout << "x is positive" << endl;
}
else
{
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++)
{
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c)
{
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x)
{
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do
{
x2 = 1;
}
while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b)
{
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2))
{
int x = 1 * 2;
return;
}
int fdfd(int* t)
{
return 1;
}
if (*f(xss) < mx)
{
return 1;
}
if (**f(xss) < mx)
{
return 1;
}
if (t * f(xss) < mx)
{
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp)
{
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL)
{
if (tp == curtab)
{
ui_ext_win_position (wp, validate);
}
else
{
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab)
{
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating)
{
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{
m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this]
{
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx
{
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo)
{
case 1:
a += 1;
break;
case 2:
{
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn()
{
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main()
{
while (true)
{
new int *[5]; // Remove this and everything works fine
if (5 > 2)
{
abc();
for (int i = 0; i < 6; i++)
{
def();
}
}
else
{
xyz();
for (int i = 0; i < 8; i++)
{
xyz();
}
}
}
return 0;
}
struct s
{
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct
{
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct
{
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
+293
View File
@@ -0,0 +1,293 @@
#include "stdafx.h"
#include <emmintrin.h>
#include <iostream>
// a badly formatted file used for CI regression tests
#ifdef TEST
#endif
using namespace std;
// Function declaration
int add(int a, int b);
// Class definition
class MyClass {
public:
MyClass (int value) : myValue (value ) {}
void display() {
cout << "MyValue: " << myValue << endl;
}
private:
int myValue;
};
int main() {
// Variables and data types
int a, b, c, x, someVal, someVal2, someVal3, someVal4 = 5;
double y, foo, bar = 3.14;
char ch = 'A';
bool isTrue = true;
struct { // Structure declaration
int myNum; // Member (int variable)
string myString; // Member (string variable)
} myStructure; // Structure variable
// Arithmetic operations
int result = x + 2 * (int)y;
cout << "Result: " << result << endl;
// Conditional statement
if (x > 0) {
cout << "x is positive" << endl;
} else {
cout << "x is non-positive" << endl;
}
// Loop
for (int i = 0; i < 5; i++) {
cout << "Iteration " << i + 1 << endl;
}
// Function call
int sum = add(3, 4);
cout << "Sum: " << sum << endl;
// Object creation and method call
MyClass obj(42);
obj.display();
goto label;
label:
MyClass.setA1234( 1 )
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa()
.setB12dsadasdasdsa( 2 )
.setB12dsadasdasdsa( 2 )
.setC12dsdsds( 3 );
if (a=b=c) {
func(a==b==c);
someVal = someVal2 =
someVal3 = someVal4 = 0;
if (x) {
someVal = someVal2 =
someVal3 = someVal4 = 0;
}
}
int x2;
do
{
x2 = 1;
} while (func(foo,
bar));
return 0;
}
// Function definition
int add(int a, int b) {
return a + b;
}
// Pointer alignment
if (anotherMethod((uint8_t *)param1, (uint8_t *)param2)) {
int x = 1 * 2;
return;
}
int fdfd(int* t) {
return 1;
}
if (*f(xss) < mx) {
return 1;
}
if (**f(xss) < mx) {
return 1;
}
if (t * f(xss) < mx) {
return 1;
}
int* p = (int*)& _mem;
void foo(int a, int c)
{
int* p = (int*)& _mem;
}
void win_ui_flush (bool validate)
{
FOR_ALL_TAB_WINDOWS (tp, wp) {
if (wp->w_pos_changed && wp->w_grid_alloc.chars != NULL) {
if (tp == curtab) {
ui_ext_win_position (wp, validate);
} else {
ui_call_win_hide (wp->w_grid_alloc.handle);
wp->w_pos_changed = false;
}
}
if (tp == curtab) {
ui_ext_win_viewport (wp);
}
}
}
win_T* lastwin_nofloating (void)
{
win_T* res = lastwin;
while (res->w_floating) {
res = res->w_prev;
}
return res;
}
CPPageFileMediaInfo::CPPageFileMediaInfo(CString path, IFileSourceFilter *pFSF)
: CPropertyPage(CPPageFileMediaInfo::IDD, CPPageFileMediaInfo::IDD)
, m_fn(path)
, m_path(path)
{ m_futureMIText = std::async(std::launch::async, [ = ]()
{
#if USE_STATIC_MEDIAINFO
MediaInfoLib::String filename = m_path;
MediaInfoLib::MediaInfo MI;
#else
MediaInfoDLL::String filename = m_path;
MediaInfo MI;
#endif
return MI.Inform().c_str();
}).share();
}
Test::Test() : member1(argument)
, member2([this] {
some_code(argument);
})
, member3(42)
, member4("test")
{
}
struct xxxx {
int a, b, c;
};
(struct xxxxx *p);
int main(int * p, int *q)
{
return;
}
int main(void)
{
switch (foo) {
case 1:
a += 1;
break;
case 2: {
a += 2;
break;
}
}
struct xxxx *p;
printf("sizeof p: %d\n", sizeof p);
int * p, *q;
return 0;
}
mapping someData = ([
"key": "value",
]);
void fn() {
some_fn(([
"key1": "/path/to/file1.c",
"key2": "/path/to/file2.c",
]));
}
int main() {
while (true) {
new int *[5]; // Remove this and everything works fine
if (5 > 2) {
abc();
for (int i = 0; i < 6; i++) {
def();
}
} else {
xyz();
for (int i = 0; i < 8; i++) {
xyz();
}
}
}
return 0;
}
struct s {
public:
inline s() :
size(x),
ia {new int [y]},
ia {new int [y]}
{}
}
#define MY_BITFIELD_WIDTH
typedef struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
struct {
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_1 : MY_BITFIELD_WIDTH;
uint32_t member_2 : MY_BITFIELD_WIDTH;
bool (*func) (void);
}
typedef struct {
uint32_t member_1 : 8;
uint32_t member_1 : 2;
uint32_t member_2 : 3;
bool (*func) (void);
}
+3 -3
View File
@@ -1,9 +1,9 @@
= Artistic Style
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, Objective‑C, C# and Java programming languages.
Written in C++, it can be used from the command line or incorporated as a library in another program.
Artistic Style is a source code indenter, formatter, and beautifier for the C, pass:[C++], pass:[C++]/CLI, Objective‑C, C# and Java programming languages.
Written in pass:[C++], it can be used from the command line or incorporated as a library in another program.
Options can be entered from the command line or from an option file.
The library version can be called from programs written in languages other that C++.
The library version can be called from programs written in languages other than pass:[C++].
== Repositories