diff --git a/QLPlugin/Info.plist b/QLPlugin/Info.plist index 73fdba5..d669aee 100644 --- a/QLPlugin/Info.plist +++ b/QLPlugin/Info.plist @@ -29,9 +29,9 @@ QLSupportedContentTypes - com.adobe.actionscript - com.adobe.coldfusion - com.adobe.jsx + com.adobe.jsx com.apple.applescript.script-bundle com.apple.applescript.script com.apple.applescript.text - com.apple.property-list - com.apple.rez-source + com.apple.disk-image-dart + com.apple.rez-source + com.apple.rez-source com.apple.xcode.entitlements-property-list - com.barebones.bbedit.scss-source - com.barebones.bbedit.verilog-hdl-source - com.barebones.bbedit.vhdl-source - com.dhowett.logos - com.eiffel.eiffelstudio-project-config - com.eiffel.source-code - com.jetbrain.source - com.macromates.textmate.scheme - com.macromates.textmate.standard-ml - com.microsoft.c-sharp - com.microsoft.csharp-source - com.microsoft.f-sharp - com.microsoft.ini - com.microsoft.typescript - com.microsoft.vb-source - com.microsoft.visual-basic - com.netscape.javascript-source + com.barebones.bbedit.ini-configuration + com.barebones.bbedit.scss-source + com.barebones.bbedit.tex-source + com.eiffel.source-code + com.microsoft.csharp-source + com.microsoft.f-sharp + com.netscape.javascript-source com.runningwithcrayons.alfred.appearance com.sequelpro.sequelpro.spf com.sequelpro.sequelpro.sptheme com.sequelpro.sequelpro.sql - com.sun.java-class - com.sun.java-server-pages - com.sun.java-source - com.sun.java-web-start - com.sun.javafx - com.sun.manifest - com.vallettaventures.texpadm.tex - dyn.ah62d4rv4ge8007a + com.sun.java-source + com.vallettaventures.texpadm.bibtex + com.vallettaventures.texpadm.tex + dyn.ah62d4rv4ge8007a dyn.ah62d4rv4ge8024pvszy0k dyn.ah62d4rv4ge80255drq + dyn.ah62d4rv4ge8045a + dyn.ah62d4rv4ge8064p2 + dyn.ah62d4rv4ge8064pr + dyn.ah62d4rv4ge8064prsm10k dyn.ah62d4rv4ge8064xp - dyn.ah62d4rv4ge80c75p + dyn.ah62d4rv4ge80c7p2 dyn.ah62d4rv4ge80g55sq2 + dyn.ah62d4rv4ge80g5pbrrwu dyn.ah62d4rv4ge80g62 + dyn.ah62d4rv4ge80g6pq + dyn.ah62d4rv4ge80n5dr + dyn.ah62d4rv4ge80n65dsmy1a7a + dyn.ah62d4rv4ge80n8a + dyn.ah62d4rv4ge80n8dx + dyn.ah62d4rv4ge80s3prsr2gn22 dyn.ah62d4rv4ge80s52 dyn.ah62d4rv4ge80s6xbqv0gn + dyn.ah62d4rv4ge80s6xbsbyhc5a + dyn.ah62d4rv4ge80s6xbsbyhc5dx + dyn.ah62d4rv4ge80u25q dyn.ah62d4rv4ge80u2psqv0gn2xbsm3u dyn.ah62d4rv4ge80u2xx dyn.ah62d4rv4ge80w5pq dyn.ah62d4rv4ge80y5a dyn.ah62d4rv4ge80y652 + dyn.ah62d4rv4ge81a63v + dyn.ah62d4rv4ge81a65rge + dyn.ah62d4rv4ge81e2ppqy dyn.ah62d4rv4ge81e3pxr70hq3pe + dyn.ah62d4rv4ge81e3pxsu + dyn.ah62d4rv4ge81e45y dyn.ah62d4rv4ge81e62 + dyn.ah62d4rv4ge81e65y + dyn.ah62d4rv4ge81e6k dyn.ah62d4rv4ge81g25brvuu dyn.ah62d4rv4ge81g25xsq + dyn.ah62d4rv4ge81g2pxsq + dyn.ah62d4rv4ge81g3pws3y0g3k + dyn.ah62d4rv4ge81g6dbsm202 dyn.ah62d4rv4ge81g6pq + dyn.ah62d4rv4ge81k55d dyn.ah62d4rv4ge81k55rru dyn.ah62d4rv4ge81k652 dyn.ah62d4rv4ge81k75mq6 - org.arduino.ino-source - org.arduino.source - org.asm.source - org.bash.source - org.clojure - org.codehaus.groovy-source - org.coffee.source + dyn.ah62d4rv4ge81k7dq + dyn.ah62d4rv4ge81q7pf + dyn.ah62d4rv4ge81s3pcrzu064pgqz31k + dyn.ah62d4rv4ge81s65eru + dyn.ah62d4rv4ge81s65g + dyn.ah62d4rv4ge81u65e + dyn.ah62d4rv4ge81u65q + dyn.ah62d4rv4ge81u65qsu + org.arduino.ino-source + org.arduino.source + org.asm.source + org.codehaus.groovy-source + org.coffee.source org.coffeescript.coffeescript - org.cson.source - org.erlang.erlang-source - org.erlang.erlang - org.fish.source - org.gcc.files - org.go.source - org.gradle.source - org.haskell.haskell-source - org.haskell.haskell - org.haskell.literate-haskell-source - org.inno.source - org.iso.sql - org.km3 - org.kmt.source - org.kotlinlang.source - org.lua.lua-source - org.lua.lua - org.microsoft.inf - org.n8gray.awk - org.n8gray.bat - org.n8gray.diff-script - org.n8gray.idl - org.n8gray.ini-source - org.n8gray.javaInstaller - org.n8gray.jsp-source - org.n8gray.lisp - org.n8gray.makefile - org.n8gray.railstemplate - org.n8gray.scheme-source - org.n8gray.standard-ml-source - org.n8gray.structured-query-language-source - org.n8gray.verilog - org.n8gray.vhdl - org.n8gray.xhtml - org.nfo - org.ocaml.ocaml-interface - org.ocaml.ocaml-source - org.ocaml.ocaml - org.omg.ecore - org.rdf.source - org.rust-lang.source - org.sbarex.conf - org.sbarex.dart - org.scala.source - org.tug.lua - org.tug.tex - org.vim.vim-script - org.xul.source - public.bash-script - public.c-header - public.c-plus-plus-header - public.c-plus-plus-source - public.c-source - public.css + org.cson.source + org.erlang.erlang-source + org.fish.source + org.gcc.files + org.go.source + org.gradle.source + org.haskell.haskell-source + org.haskell.literate-haskell-source + org.inno.source + org.iso.sql + org.khronos.glsl.fragment-shader + org.khronos.glsl.vertex-shader + org.kmt.source + org.kotlinlang.source + org.lua.lua-source + org.microsoft.inf + org.n8gray.awk + org.n8gray.bat + org.n8gray.ini-source + org.n8gray.jsp-source + org.n8gray.lisp + org.n8gray.makefile + org.n8gray.railstemplate + org.n8gray.scheme-source + org.n8gray.standard-ml-source + org.n8gray.structured-query-language-source + org.n8gray.verilog + org.n8gray.vhdl + org.nfo + org.ocaml.ocaml-interface + org.ocaml.ocaml-source + org.omg.ecore + org.rdf.source + org.rust-lang.source + org.scala.source + org.tug.lua + org.tug.tex + org.tug.latex + org.vim.vim-script + org.xul.source + public.ada-source + public.assembly-source + public.bash-script + public.c-header + public.c-plus-plus-header + public.c-plus-plus-source + public.c-source + public.csh-script + public.css public.data - public.json - public.objective-c-source - public.pascal-source - public.patch-file - public.perl-script - public.php-script - public.plain-text - public.python-script - public.ruby-script + public.fortran-90-source + public.fortran-source + public.json + public.ksh-script + public.make-source + public.objective-c-source + public.opencl-source + public.pascal-source + public.patch-file + public.perl-script + public.php-script + public.plain-text + public.protobuf-source + public.python-script + public.rss + public.ruby-script public.script - public.shell-script + public.shell-script public.source-code - public.swift-source - public.tex + public.swift-source + public.tcsh-script + public.tex public.text - public.xml - public.yaml - public.zsh-script - tk.tcl.tcl-source - tk.tcl.tcl + public.yaml + public.zsh-script + tk.tcl.tcl-source QLSupportsSearchableItems diff --git a/QLPlugin/Views/Previews/CodePreview.swift b/QLPlugin/Views/Previews/CodePreview.swift index 0ea2ebe..5e361eb 100644 --- a/QLPlugin/Views/Previews/CodePreview.swift +++ b/QLPlugin/Views/Previews/CodePreview.swift @@ -2,11 +2,23 @@ import Foundation import os.log let dotfileLexers = [ + ".bashrc": "bashrc", ".dockerignore": "bash", ".editorconfig": "ini", ".gitattributes": "bash", + ".gitconfig": "ini", ".gitignore": "bash", ".npmignore": "bash", + ".vimrc": "vim", + ".zprofile": "zsh", + ".zsh_history": "txt", + ".zshrc": "zshrc", + "dockerfile": "Dockerfile", + "gemfile": "Gemfile", + "gnumakefile": "Makefile", + "makefile": "Makefile", + "pkgbuild": "pkgbuild", + "rakefile": "Rakefile", ] let fileExtensionLexers = [ @@ -24,6 +36,7 @@ let fileExtensionLexers = [ "spf": "xml", // Sequel Pro query favorites file "spTheme": "xml", // Sequel Pro theme file "sty": "tex", // LaTeX styles file + "webmanifest": "json", // Web app manifest ] class CodePreview: Preview { @@ -39,10 +52,13 @@ class CodePreview: Preview { private func getLexer(fileURL: URL) -> String { if fileURL.pathExtension.isEmpty { // Dotfile - return dotfileLexers[fileURL.lastPathComponent, default: "autodetect"] + return dotfileLexers[fileURL.lastPathComponent.lowercased(), default: "autodetect"] } else { // File with extension - return fileExtensionLexers[fileURL.pathExtension, default: fileURL.pathExtension] + return fileExtensionLexers[ + fileURL.pathExtension.lowercased(), + default: fileURL.pathExtension + ] } }