diff --git a/src/fennel-ls.fnl b/src/fennel-ls.fnl index 059d620..beb4986 100644 --- a/src/fennel-ls.fnl +++ b/src/fennel-ls.fnl @@ -33,7 +33,10 @@ server (doto {} initialize)] (var should-err? false) (each [_ filename (ipairs filenames)] - (let [file (files.get-by-uri server (.. "file://" filename))] + (let [uri (case filename + "-" :stdin + _ (.. "file://" filename)) + file (files.get-by-uri server uri)] (lint.add-lint-diagnostics server file) (each [_ {: message : range : severity} (ipairs file.diagnostics)] (set should-err? true) diff --git a/src/fennel-ls/files.fnl b/src/fennel-ls/files.fnl index bc25d74..4da8f54 100644 --- a/src/fennel-ls/files.fnl +++ b/src/fennel-ls/files.fnl @@ -13,10 +13,13 @@ in the \"server\" object." (λ read-file [server uri] (case (?. server.preload uri) preload {: uri :text preload} - _ (case (io.open (utils.uri->path uri) "r") - file (let [text (file:read :*a)] - (file:close) - {: uri : text})))) + _ (case uri + :stdin (let [text (io.read :*a)] + {: uri : text}) + _ (case (io.open (utils.uri->path uri) "r") + file (let [text (file:read :*a)] + (file:close) + {: uri : text}))))) (λ get-by-uri [server uri] (or (. server.files uri)