Skip to content

Commit

Permalink
added support for C++20 concepts
Browse files Browse the repository at this point in the history
also:
- work on test infrastructure
- refactoring
  • Loading branch information
marzer committed Oct 3, 2022
1 parent 0ac90bb commit 36123a4
Show file tree
Hide file tree
Showing 86 changed files with 4,671 additions and 5,818 deletions.
163 changes: 163 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
---
Language: Cpp
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: Consecutive
AlignConsecutiveAssignments: Consecutive
AlignConsecutiveBitFields: Consecutive
AlignConsecutiveDeclarations: None
AlignEscapedNewlines: Right
AlignOperands: AlignAfterOperator
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortEnumsOnASingleLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: true
AllowShortFunctionsOnASingleLine: None
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: Yes
AttributeMacros:
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: true
AfterClass: true
AfterControlStatement: Always
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterObjCDeclaration: false
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: true
BeforeWhile: true
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Custom
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^([/*!#]|\s*(===|---|clang-format))'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: false
DeriveLineEnding: false
DerivePointerAlignment: false
DisableFormat: false
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: false
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
StatementAttributeLikeMacros:
- Q_EMIT
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: ".*"
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: "(Test)?$"
IncludeIsMainSourceRegex: ""
IndentCaseLabels: true
IndentCaseBlocks: false
IndentGotoLabels: true
IndentPPDirectives: None
IndentExternBlock: Indent
IndentRequires: false
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertTrailingCommas: None
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ""
MacroBlockEnd: ""
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 1
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 1000000
PenaltyIndentedWhitespace: 0
PointerAlignment: Left
ReflowComments: true
SortIncludes: false
SortJavaStaticImport: Before
SortUsingDeclarations: false
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceAroundPointerQualifiers: Default
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
BitFieldColonSpacing: Both
Standard: Latest
StatementMacros:
- __pragma
- _Pragma
TabWidth: 4
TypenameMacros:
UseCRLF: false
UseTab: Always
WhitespaceSensitiveMacros:
- STRINGIZE
- PP_STRINGIZE
- BOOST_PP_STRINGIZE
---

51 changes: 26 additions & 25 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -42,31 +42,32 @@ Doxyfile text eol=lf encoding=UTF-8
Doxyfile-mcss text eol=lf encoding=UTF-8
meson.build text eol=lf encoding=UTF-8

*.cs eol=lf diff=csharp
*.cs eol=lf diff=csharp

*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain

*.ai binary
*.bin binary
*.bmp binary
*.dat binary
*.gif binary
*.ico binary
*.jpeg binary
*.jpg binary
*.png binary
*.psd binary
*.rc binary
*.xlsx binary
*.ai binary
*.bin binary
*.bmp binary
*.dat binary
*.gif binary
*.ico binary
*.jpeg binary
*.jpg binary
*.png binary
*.psd binary
*.rc binary
*.xlsx binary

*/generated/** linguist-generated
*/m.css/** linguist-vendored
*/generated/** linguist-generated
*/m.css/** linguist-vendored
*/tests/test_*/** linguist-generated
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## v0.9.0 - 2022-10-03

- added support for C++20 concepts

## v0.8.2 - 2022-10-01

- added post-process to inline all local SVGs
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ a fantastic live search feature. **Poxy** builds upon both by:
- Providing a number of additional built-in doxygen `@alias` commands
- Giving more control over the HTML inline using square-bracket `[tags][/tags]`
- Adding a switchable light theme
- Adding support for C++20 concepts
- Self-hosting fonts to reduce external HTTP requests
- Inlining SVGs so they can take advantage of [`currentColor`]
- Quite a bit more!
Expand Down Expand Up @@ -66,7 +67,7 @@ Poxy is a command-line application.

```
poxy [-h] [-v] [--doxygen <path>] [--dry] [--threads N] [--version] [--werror] [--xmlonly]
[--ppinclude <regex>] [--ppexclude <regex>] [--nocleanup] [--theme {auto,light,dark,custom}]
[--ppinclude <regex>] [--ppexclude <regex>] [--theme {auto,light,dark,custom}]
[config]
Generate fancy C++ documentation.
Expand All @@ -85,7 +86,6 @@ options:
--xmlonly stop after generating and preprocessing the Doxygen xml
--ppinclude <regex> pattern matching HTML file names to post-process (default: all)
--ppexclude <regex> pattern matching HTML file names to exclude from post-processing (default: none)
--nocleanup does not clean up after itself, leaving the XML and other temp files intact
--theme {auto,light,dark,custom}
the CSS theme to use (default: auto)
```
Expand Down
14 changes: 12 additions & 2 deletions poxy.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,20 @@
"**/__pycache__": true,
"**/build": true,
"**/*.egg-info": true,
"**/poxy/html": true,
"**/poxy/html": true
},
"prettier.tabWidth": 4,
"html.format.indentInnerHtml": true,
"prettier.useTabs": true
"prettier.useTabs": true,
"files.associations": {
"type_traits": "cpp",
"concepts": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdlib": "cpp",
"initializer_list": "cpp",
"xstddef": "cpp",
"xtr1common": "cpp"
}
}
}
Loading

0 comments on commit 36123a4

Please sign in to comment.