Добавлены mermaid диаграммы

This commit is contained in:
FrigaT
2025-12-25 12:59:20 +03:00
parent 9abf8daf90
commit 0dae811dd0
15 changed files with 1063 additions and 228 deletions

View File

@@ -1,6 +1,7 @@
using SQLLinter.Common;
using SQLLinter.Common.Helpers;
using SQLLinter.Core.Interfaces;
using SQLLinter.Infrastructure.Interfaces;
using SQLLinter.Infrastructure.Parser;
using SQLLinter.Infrastructure.Plugins;
@@ -15,20 +16,25 @@ public class Linter
private ISqlFileProcessor _fileProcessor;
public Linter(IConfig config, IReporter reporter)
: this(config
, reporter
, new FragmentBuilder(reporter, config.CompatibilityLevel)
, new SqlStreamReaderBuilder()
)
{ }
public Linter(IConfig config, IReporter reporter, IFragmentBuilder fragmentBuilder, ISqlStreamReaderBuilder sqlStreamReaderBuilder)
{
this._config = config;
this._reporter = reporter;
this._pluginHandler = new PluginHandler(reporter, config);
_reporter.Report($"Загрузка SQL Linter...");
var fragmentBuilder = new FragmentBuilder(reporter, _config.CompatibilityLevel);
_pluginHandler = new PluginHandler(_reporter, _config);
var ruleVisitor = new SqlRuleVisitor(_pluginHandler, fragmentBuilder, _reporter);
var ruleVisitor = new SqlRuleVisitor(_pluginHandler, fragmentBuilder, _reporter, sqlStreamReaderBuilder);
_fileProcessor = new SqlFileProcessor(ruleVisitor, _pluginHandler, reporter);
_fileProcessor = new SqlFileProcessor(ruleVisitor, _pluginHandler);
_reporter.Report($"SQL Linter загружен...");
}