Skip to content
Snippets Groups Projects
user avatar
Orgad Shaneh authored
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: default avatarhjk <qthjk@ovi.com>
29a93998
History
Name Last commit Last update
..
CppTools.pluginspec.in
ModelManagerInterface.cpp
ModelManagerInterface.h
TypeHierarchyBuilder.cpp
TypeHierarchyBuilder.h
abstracteditorsupport.cpp
abstracteditorsupport.h
builtinindexingsupport.cpp
builtinindexingsupport.h
commentssettings.cpp
commentssettings.h
completionsettingspage.cpp
completionsettingspage.h
completionsettingspage.ui
cppchecksymbols.cpp
cppchecksymbols.h
cppclassesfilter.cpp
cppclassesfilter.h
cppcodeformatter.cpp
cppcodeformatter.h
cppcodegen_test.cpp
cppcodestylepreferences.cpp
cppcodestylepreferences.h
cppcodestylepreferencesfactory.cpp
cppcodestylepreferencesfactory.h
cppcodestylesettings.cpp
cppcodestylesettings.h
cppcodestylesettingspage.cpp
cppcodestylesettingspage.h
cppcodestylesettingspage.ui
cppcompletion_test.cpp
cppcompletionassist.cpp
cppcompletionassist.h
cppcompletionassistprovider.cpp
cppcompletionassistprovider.h
cppcompletionsupport.cpp
cppcompletionsupport.h
cppcurrentdocumentfilter.cpp
cppcurrentdocumentfilter.h
cppdoxygen.cpp
cppdoxygen.h
cppfilesettingspage.cpp
cppfilesettingspage.h
cppfilesettingspage.ui
cppfindreferences.cpp
cppfindreferences.h
cppfunctionsfilter.cpp
cppfunctionsfilter.h
cpphighlightingsupport.cpp
cpphighlightingsupport.h
cpphighlightingsupportinternal.cpp
cpphighlightingsupportinternal.h
cppindexingsupport.cpp
cppindexingsupport.h
cpplocalsymbols.cpp
cpplocalsymbols.h
cpplocatorfilter.cpp
cpplocatorfilter.h
cppmodelmanager.cpp
cppmodelmanager.h
cppmodelmanager_test.cpp
cppqtstyleindenter.cpp
cppqtstyleindenter.h
cpprefactoringchanges.cpp
cpprefactoringchanges.h
cppsemanticinfo.cpp
cppsemanticinfo.h
cpptools.pri
cpptools.pro
cpptools.qbs
cpptools_dependencies.pri
cpptools_global.h
cpptoolsconstants.h
cpptoolseditorsupport.cpp
cpptoolseditorsupport.h
cpptoolsplugin.cpp
cpptoolsplugin.h
cpptoolsreuse.cpp
cpptoolsreuse.h
cpptoolssettings.cpp
cpptoolssettings.h
doxygengenerator.cpp
doxygengenerator.h
insertionpointlocator.cpp
insertionpointlocator.h
modelmanagertesthelper.cpp
modelmanagertesthelper.h
searchsymbols.cpp
searchsymbols.h
symbolfinder.cpp
symbolfinder.h
symbolsfindfilter.cpp
symbolsfindfilter.h
uicodecompletionsupport.cpp
uicodecompletionsupport.h