5#ifndef QQMLFORMATOPTIONS_P_H
6#define QQMLFORMATOPTIONS_P_H
19#include <QtCore/qstring.h>
20#include <QtQmlDom/private/qqmldomoutwriter_p.h>
21#include <QtQmlDom/private/qqmldomlinewriter_p.h>
22#include <QtQmlToolingSettings/private/qqmltoolingsettings_p.h>
29enum QQmlFormatOptionLineEndings {
50 return detectLineEndings(code);
52 return LineEndings::OldMacOs;
54 return LineEndings::Windows;
56 return LineEndings::Unix;
58 Q_UNREACHABLE_RETURN(LineEndings::Unix);
61 bool tabsEnabled()
const {
return m_options.formatOptions.useTabs; }
65 return m_options.attributesSequence == AttributesSequence::Normalize;
69 m_options.attributesSequence =
70 (normalize ? AttributesSequence::Normalize : AttributesSequence::Preserve);
83 int indentWidth()
const {
return m_options.formatOptions.indentSize; }
84 void setIndentWidth(
int width) { m_options.formatOptions.indentSize = width; }
92 m_options.semicolonRule = rule;
97 return m_options.semicolonRule;
102 QQmlJS::Dom::LineWriterOptions result = m_options;
103 result.lineEndings = lineEndings(m_newline, code);
107 static QQmlFormatOptionLineEndings
parseEndings(
const QString &endings);
109 QQmlFormatOptionLineEndings
newline()
const {
return m_newline; }
110 void setNewline(
const QQmlFormatOptionLineEndings &endings) { m_newline = endings; }
113 void setFiles(
const QStringList &newFiles) { m_files = newFiles; }
115 void setArguments(
const QStringList &newArguments) { m_arguments = newArguments; }
118 bool isValid()
const {
return m_errors.isEmpty(); }
128 m_writeDefaultSettings = newWriteDefaultSettings;
134 void setDryRun(
bool newDryRun) { m_dryRun = newDryRun; }
136 void setSettingsFile(
const QString &newSettingsFile) { m_settingsFile = newSettingsFile; }
138 void addError(
const QString &newError) { m_errors.append(newError); };
165 void mark(
Settings setting) { m_settingBits.set(setting,
true); }
166 bool isMarked(
Settings setting)
const {
return m_settingBits.test(setting); }
169 QQmlJS::Dom::LineWriterOptions m_options;
171 QQmlFormatOptionLineEndings m_newline = Native;
174 QStringList m_arguments;
175 QStringList m_errors;
177 bool m_verbose =
false;
178 bool m_inplace =
false;
179 bool m_force =
false;
180 bool m_ignoreSettings =
false;
181 bool m_writeDefaultSettings =
false;
182 bool m_indentWidthSet =
false;
184 bool m_dryRun =
false;
185 QString m_settingsFile;