Skip to content

[clang-format] add option(s) to add space(s) around token-pasting operator (##) #142515

Closed as duplicate of#80054
@EugeneZelenko

Description

@EugeneZelenko

Code snippet:

#define Test(name) function(param ## name)

Output:

#define Test(name) function(param##name)

Desired output is same:

#define Test(name) function(param ## name)

I tried 19.1.1 and main (c874185).

Configuration:

BasedOnStyle: LLVM

BreakBeforeBraces: Allman
ColumnLimit: 100
IndentPPDirectives: AfterHash
IndentWidth: 4
LineEnding: LF
UseTab: Never

Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: AlwaysBreak
AlignArrayOfStructures: Left
AlignConsecutiveAssignments: AcrossComments
AlignConsecutiveBitFields:
  Enabled: true
  AcrossEmptyLines: true
  AcrossComments: true
AlignConsecutiveDeclarations:
  Enabled: true
  AcrossEmptyLines: false
  AcrossComments: false
AlignConsecutiveMacros: AcrossEmptyLines
AlignConsecutiveShortCaseStatements:
  Enabled: true
  AcrossEmptyLines: true
  AcrossComments: true
  AlignCaseColons: false
AlignEscapedNewlines: LeftWithLastLine
AlignOperands: Align
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
AllowShortCaseExpressionOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: false
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
BitFieldColonSpacing: After
BinPackArguments: false
BinPackParameters: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
BreakTemplateDeclarations: Yes
ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 4
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: Always
FixNamespaceComments: true
Macros:
  - PyVarObject_HEAD_INIT(x, y)=x, y,
MainIncludeChar: Quote
MaxEmptyLinesToKeep: 1
PackConstructorInitializers: Never
PenaltyReturnTypeOnItsOwnLine: 1000
PointerAlignment: Left
SortUsingDeclarations: true
SpaceAfterTemplateKeyword: false
StatementMacros:
  - PyObject_HEAD
  - Q_OBJECT

Metadata

Metadata

Assignees

No one assigned

    Labels

    clang-formatduplicateResolved as duplicateenhancementImproving things as opposed to bug fixing, e.g. new or missing feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions