From cf6dd5cdf3241d4723c6a955c7906084fe3e270f Mon Sep 17 00:00:00 2001 From: ema Date: Wed, 9 Jul 2025 03:50:50 +0800 Subject: [PATCH] Prepare Dockerfile format detector --- .../Detectors/DockerfileDetector.cs | 35 +++++++++++++++++++ .../Detectors/FormatDetector.cs | 1 + 2 files changed, 36 insertions(+) create mode 100644 QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/DockerfileDetector.cs diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/DockerfileDetector.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/DockerfileDetector.cs new file mode 100644 index 0000000..6a20df9 --- /dev/null +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/DockerfileDetector.cs @@ -0,0 +1,35 @@ +// Copyright © 2017-2025 QL-Win Contributors +// +// This file is part of QuickLook program. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +using System; +using System.IO; + +namespace QuickLook.Plugin.TextViewer.Detectors; + +public sealed class DockerfileDetector : IFormatDetector +{ + public string Name => "Dockerfile"; + + public string Extension => ".df"; + + public bool Detect(string path, string text) + { + if (string.IsNullOrWhiteSpace(text)) return false; + + return "Dockerfile".Equals(Path.GetFileName(path), StringComparison.OrdinalIgnoreCase); + } +} diff --git a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/FormatDetector.cs b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/FormatDetector.cs index ae3cf10..70c552a 100644 --- a/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/FormatDetector.cs +++ b/QuickLook.Plugin/QuickLook.Plugin.TextViewer/Detectors/FormatDetector.cs @@ -29,6 +29,7 @@ public class FormatDetector new JSONDetector(), new MakefileDetector(), //new CMakeListsDetector(), + //new DockerfileDetector(), ]; public static IFormatDetector Detect(string path, string text)