joaotavora / eglot

A client for Language Server Protocol servers
GNU General Public License v3.0
2.27k stars 200 forks source link

Errors with new, unsaved files #384

Open purcell opened 4 years ago

purcell commented 4 years ago

This is a question, and not necessarily an issue report.

Using elm-language-server (which mostly works great with eglot, thanks!), if I create a new file buffer Foo.elm in an eglot-managed project, I observe errors until the buffer is saved. Specifically, completion (or eldoc) requests containing the new file path are sent to the language server back end, which crashes or throws errors.

I'm not familiar enough with LSP to know whether:

a) This is an issue with the language server back end, because it should have well-defined behaviour if passed invalid file paths, or b) eglot is sending file-related requests to the language server that are invalid because they refer to non-existent files, or c) both of the above

I suspect that the answer is c). :-)

joaotavora commented 4 years ago

At some (early) point in time, Eglot should have sent a special didOpen notification to the server. I think. So from that point on, the server could have known that the file Eglot is mentioning is actually in the project, even if it isn't persisted to hard disk yet. This is all from my fuzzy memory on the subject. It would be best if you paste some or all of the relevant events buffer M-x eglot-events-buffer around the time of the interesting events.

purcell commented 4 years ago

Sure. Here's the log, in which "Foobar.elm" is the new as-yet-unsaved file:

client-notification Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :version 0 :languageId "elm" :text "")))

server-notification Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received open for file:///Users/steve/Projects/fretboard/src/Foobar.elm"))

server-notification Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file open or save"))

server-request (id:69) Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :id 69 :method "workspace/configuration" :params
          (:items
           [(:section "elmLS")]))

client-reply (id:69) Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :id 69 :result
          [nil])

server-notification Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:08 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 265 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/didChange" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :version 6)
           :contentChanges
           [(:text "module")]))

client-request (id:536) Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :id 536 :method "textDocument/completion" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm")
           :position
           (:line 0 :character 6)
           :context
           (:triggerKind 1)))

client-request (id:537) Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :id 537 :method "textDocument/hover" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm")
           :position
           (:line 0 :character 6)))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received change for file:///Users/steve/Projects/fretboard/src/Foobar.elm"))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file change"))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 265 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Changed text document, going to parse it. file:///Users/steve/Projects/fretboard/src/Foobar.elm"))

internal Mon Dec 30 11:05:16 2019:
(:message "Connection state changed" :change "exited abnormally with code 7\n")

----------b---y---e---b---y---e----------
internal (id:537) ERROR Mon Dec 30 11:05:16 2019:
(:message "error ignored, status set (Server died)" :id 537 :error -1)

client-request (id:1) Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :id 1 :method "initialize" :params
          (:processId 44714 :rootPath "/Users/steve/Projects/fretboard/" :rootUri "file:///Users/steve/Projects/fretboard/" :initializationOptions nil :capabilities
                      (:workspace
                       (:applyEdit t :executeCommand
                                   (:dynamicRegistration :json-false)
                                   :workspaceEdit
                                   (:documentChanges :json-false)
                                   :didChangeWatchedFiles
                                   (:dynamicRegistration t)
                                   :symbol
                                   (:dynamicRegistration :json-false)
                                   :configuration t)
                       :textDocument
                       (:synchronization
                        (:dynamicRegistration :json-false :willSave t :willSaveWaitUntil t :didSave t)
                        :completion
                        (:dynamicRegistration :json-false :completionItem
                                              (:snippetSupport :json-false)
                                              :contextSupport t)
                        :hover
                        (:dynamicRegistration :json-false :contentFormat
                                              ["markdown" "plaintext"])
                        :signatureHelp
                        (:dynamicRegistration :json-false :signatureInformation
                                              (:parameterInformation
                                               (:labelOffsetSupport t)))
                        :references
                        (:dynamicRegistration :json-false)
                        :definition
                        (:dynamicRegistration :json-false)
                        :declaration
                        (:dynamicRegistration :json-false)
                        :implementation
                        (:dynamicRegistration :json-false)
                        :typeDefinition
                        (:dynamicRegistration :json-false)
                        :documentSymbol
                        (:dynamicRegistration :json-false :symbolKind
                                              (:valueSet
                                               [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26]))
                        :documentHighlight
                        (:dynamicRegistration :json-false)
                        :codeAction
                        (:dynamicRegistration :json-false :codeActionLiteralSupport
                                              (:codeActionKind
                                               (:valueSet
                                                ["quickfix" "refactor" "refactor.extract" "refactor.inline" "refactor.rewrite" "source" "source.organizeImports"])))
                        :formatting
                        (:dynamicRegistration :json-false)
                        :rangeFormatting
                        (:dynamicRegistration :json-false)
                        :rename
                        (:dynamicRegistration :json-false)
                        :publishDiagnostics
                        (:relatedInformation :json-false))
                       :experimental nil)))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Loading Elm tree-sitter syntax from node_modules/@elm-tooling/elm-language-server/out/tree-sitter-elm.wasm"))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Found 1 elm.json files for workspace /Users/steve/Projects/fretboard/"))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Found 1 unique elmWorkspaces for workspace /Users/steve/Projects/fretboard/"))

server-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Starting language server for folder: file:///Users/steve/Projects/fretboard/"))

server-reply (id:1) Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :id 1 :result
          (:capabilities
           (:codeActionProvider t :codeLensProvider
                                (:resolveProvider t)
                                :completionProvider
                                (:triggerCharacters
                                 ["."])
                                :definitionProvider t :documentFormattingProvider t :documentSymbolProvider t :executeCommandProvider
                                (:commands
                                 ["elmLS.elmAnalyseFixer-29d8dc5c5bef2dd9cbcf6da6e21d5cd5" "elmLS.elmAnalyseFixer.fixAll-29d8dc5c5bef2dd9cbcf6da6e21d5cd5" "elmLS.elmMakeFixer-0c31d87eca2e3041f9754a180dd9d4ea"])
                                :foldingRangeProvider t :hoverProvider t :referencesProvider t :renameProvider t :textDocumentSync 1 :workspaceSymbolProvider t)))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "initialized" :params #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data
                                                            ()))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :version 0 :languageId "elm" :text "module")))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Scale.elm" :version 0 :languageId "elm" :text "module Scale exposing (Scale, chromatic, isSemitoneDegreeInScale, major, majorTriad, minor, minorPentatonic, minorTriad)\n\n\ntype Scale\n    = -- A list of semitone degrees within a scale\n      Scale (List Int)\n\n\nisSemitoneDegreeInScale : Scale -> Int -> Bool\nisSemitoneDegreeInScale (Scale degrees) degree =\n    List.member degree degrees\n\n\nchromatic : Scale\nchromatic =\n    Scale [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]\n\n\nmajor : Scale\nmajor =\n    Scale [ 0, 2, 4, 5, 7, 9, 11 ]\n\n\nminor : Scale\nminor =\n    Scale [ 0, 2, 3, 5, 7, 8, 10 ]\n\n\nmajorTriad : Scale\nmajorTriad =\n    Scale [ 0, 4, 7 ]\n\n\nminorTriad : Scale\nminorTriad =\n    Scale [ 0, 3, 7 ]\n\n\nminorPentatonic : Scale\nminorPentatonic =\n    Scale [ 0, 3, 5, 8, 10 ]\n")))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :version 0 :languageId "elm" :text "module Main exposing (main)\n\nimport Browser\nimport Color\nimport Fretboard exposing (Fretboard)\nimport Html exposing (Html, div)\nimport Note\nimport Scale\nimport Tuning exposing (Tuning)\n\n\ntype alias Msg =\n    ()\n\n\ntype alias Model =\n    { fretboard : Fretboard }\n\n\nmain : Program () Model Msg\nmain =\n    Browser.element\n        { init = init\n        , subscriptions = subscriptions\n        , update = update\n        , view = view\n        }\n\n\ninit : () -> ( Model, Cmd Msg )\ninit _ =\n    let\n        tuning =\n            Tuning.standardSix\n\n        numFrets =\n            15\n\n        numStrings =\n            List.length tuning\n\n        scale =\n            Scale.major\n\n        tonic =\n            Note.toTone <| Note.Note Note.G Note.Natural 4\n\n        isInScale tone =\n            Scale.isSemitoneDegreeInScale scale (Note.semitoneDegree tonic tone)\n\n        labels =\n            labelAllNotes tonic <| List.filter (\\( _, tone ) -> isInScale tone) <| allTones tuning numFrets\n    in\n    ( { fretboard =\n            { numStrings = numStrings\n            , numFrets = numFrets\n            , labels = labels\n            }\n      }\n    , Cmd.none\n    )\n\n\nlabelAllNotes : Note.Tone -> List ( Fretboard.Position, Note.Tone ) -> List Fretboard.Label\nlabelAllNotes tonic tones =\n    List.map\n        (\\( position, tone ) ->\n            { position = position\n            , color = Color.hsl (toFloat (Note.semitoneDegree tonic tone) / 12) 1 0.8\n            , text = Note.noteToString (Note.toNote tone)\n            }\n        )\n        tones\n\n\nallTones : Tuning -> Int -> List ( Fretboard.Position, Note.Tone )\nallTones roots numFrets =\n    let\n        fretNote open s f =\n            ( { string = s, fret = f }\n            , Note.addSemitones open f\n            )\n\n        stringNotes n root =\n            List.map (fretNote root (n + 1)) (List.range 0 numFrets)\n    in\n    List.concat <| List.indexedMap stringNotes roots\n\n\nsubscriptions : Model -> Sub Msg\nsubscriptions _ =\n    Sub.none\n\n\nupdate : Msg -> Model -> ( Model, Cmd Msg )\nupdate _ model =\n    ( model, Cmd.none )\n\n\nview : Model -> Html Msg\nview model =\n    Html.div [] [ Fretboard.view model.fretboard ]\n")))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Note.elm" :version 0 :languageId "elm" :text "module Note exposing\n    ( Modifier(..)\n    , Note(..)\n    , NoteLetter(..)\n    , Tone\n    , addSemitones\n    , noteToString\n    , semitoneDegree\n    , toNote\n    , toTone\n    )\n\n\ntype\n    Tone\n    -- Opaque internal representation of a tone\n    = Tone Int\n\n\nintervalSize : Tone -> Tone -> Int\nintervalSize (Tone from) (Tone to) =\n    to - from\n\n\nsemitoneDegree : Tone -> Tone -> Int\nsemitoneDegree tonic other =\n    modBy 12 (intervalSize tonic other)\n\n\naddSemitones : Tone -> Int -> Tone\naddSemitones (Tone i) s =\n    Tone (i + s)\n\n\ntype NoteLetter\n    = C\n    | D\n    | E\n    | F\n    | G\n    | A\n    | B\n\n\nnoteLetterToString : NoteLetter -> String\nnoteLetterToString n =\n    case n of\n        A ->\n            \"A\"\n\n        B ->\n            \"B\"\n\n        C ->\n            \"C\"\n\n        D ->\n            \"D\"\n\n        E ->\n            \"E\"\n\n        F ->\n            \"F\"\n\n        G ->\n            \"G\"\n\n\nsemitonesAboveC : NoteLetter -> Int\nsemitonesAboveC name =\n    case name of\n        C ->\n            0\n\n        D ->\n            2\n\n        E ->\n            4\n\n        F ->\n            5\n\n        G ->\n            7\n\n        A ->\n            9\n\n        B ->\n            11\n\n\ntype Modifier\n    = Flat\n    | Natural\n    | Sharp\n\n\nmodifierToString : Modifier -> String\nmodifierToString mod =\n    case mod of\n        Flat ->\n            \"♭\"\n\n        Sharp ->\n            \"♯\"\n\n        Natural ->\n            \"\"\n\n\ntype Note\n    = Note NoteLetter Modifier Int\n\n\ntoTone : Note -> Tone\ntoTone (Note name modifier octave) =\n    Tone\n        (12\n            * octave\n            + semitonesAboveC name\n            + (case modifier of\n                Flat ->\n                    -1\n\n                Natural ->\n                    0\n\n                Sharp ->\n                    1\n              )\n        )\n\n\ntoNote : Tone -> Note\ntoNote (Tone i) =\n    let\n        octave =\n            i // 12\n\n        ( name, modifier ) =\n            case modBy 12 i of\n                0 ->\n                    ( C, Natural )\n\n                1 ->\n                    ( C, Sharp )\n\n                2 ->\n                    ( D, Natural )\n\n                3 ->\n                    ( D, Sharp )\n\n                4 ->\n                    ( E, Natural )\n\n                5 ->\n                    ( F, Natural )\n\n                6 ->\n                    ( F, Sharp )\n\n                7 ->\n                    ( G, Natural )\n\n                8 ->\n                    ( G, Sharp )\n\n                9 ->\n                    ( A, Natural )\n\n                10 ->\n                    ( A, Sharp )\n\n                11 ->\n                    ( B, Natural )\n\n                -- Unfortunately necessary catch-all\n                _ ->\n                    ( C, Natural )\n    in\n    Note name modifier octave\n\n\nnoteToString : Note -> String\nnoteToString (Note name modifier _) =\n    noteLetterToString name ++ modifierToString modifier\n")))

client-notification Mon Dec 30 11:05:16 2019:
(:jsonrpc "2.0" :method "textDocument/didOpen" :params
          (:textDocument
           (:uri "file:///Users/steve/Projects/fretboard/src/Fretboard.elm" :version 0 :languageId "elm" :text "module Fretboard exposing\n    ( Fretboard\n    , Label\n    , Position\n    , view\n    )\n\nimport Color exposing (Color)\nimport Html exposing (Html)\nimport TypedSvg exposing (circle, line, rect, svg, text_)\nimport TypedSvg.Attributes exposing (cx, cy, dominantBaseline, fill, fontFamily, fontSize, height, r, stroke, strokeWidth, textAnchor, viewBox, width, x, x1, x2, y, y1, y2)\nimport TypedSvg.Core exposing (Svg, text)\nimport TypedSvg.Types exposing (AnchorAlignment(..), DominantBaseline(..), Fill(..), Length(..), px)\n\n\ntype alias Fretboard =\n    { numStrings : Int\n    , numFrets : Int\n    , labels : List Label\n    }\n\n\ntype alias Position =\n    { string : Int\n    , fret : Int\n    }\n\n\ntype alias Label =\n    -- Later: convert to sum type of \"note name\", \"interval number\" etc.\n    { position : Position\n    , color : Color\n    , text : String\n    }\n\n\nview : Fretboard -> Html msg\nview model =\n    let\n        fretColumnWidthPx =\n            40\n\n        nutWidthPx =\n            fretColumnWidthPx / 3\n\n        stringSlicePx =\n            20\n\n        fretWidthPx =\n            3\n\n        fingerboard =\n            rect\n                [ fill (Fill (Color.rgb255 240 240 240))\n                , width (Percent 100)\n                , height (Percent 100)\n                , stroke (Color.rgb255 180 180 180)\n                , strokeWidth (px 1)\n                ]\n                []\n\n        nut =\n            rect\n                [ x (px (fretColumnWidthPx - nutWidthPx))\n                , width (px nutWidthPx)\n                , height (Percent 100)\n                , fill (Fill (Color.rgb255 180 180 180))\n                , stroke (Color.rgb255 180 180 180)\n                , strokeWidth (px 1)\n                ]\n                []\n\n        fretboardHeightPx =\n            toFloat (model.numStrings * stringSlicePx)\n\n        stringYPx i =\n            fretboardHeightPx - (toFloat i - 0.5) * stringSlicePx\n\n        strings =\n            List.map string (List.range 1 model.numStrings)\n\n        string : Int -> Svg msg\n        string i =\n            line\n                [ x1 (Percent 0)\n                , y1 (px (stringYPx i))\n                , y2 (px (stringYPx i))\n                , x2 (Percent 100)\n                , stroke Color.black\n                , strokeWidth (px (1 + logBase 10 (toFloat (1 + model.numStrings - i))))\n                ]\n                []\n\n        frets =\n            List.map fret (List.range 1 model.numFrets)\n\n        fretOffsetPx i =\n            toFloat i * fretColumnWidthPx\n\n        -- (12 / toFloat model.numFrets) * 200 * (1 - (1 / (2 ^ (toFloat i / 12))))\n        fret i =\n            rect\n                [ x (px (fretOffsetPx i))\n                , height (Percent 100)\n                , width (px fretWidthPx)\n                , fill (Fill Color.white)\n                , stroke (Color.rgb255 180 180 180)\n                , strokeWidth (px 1)\n                ]\n                []\n\n        inlays =\n            List.concatMap inlay (List.range 1 model.numFrets)\n\n        fretFingerOffsetPx i =\n            (0.5 + toFloat i) * fretColumnWidthPx + fretWidthPx / 2\n\n        inlay i =\n            let\n                ni =\n                    modBy 12 i\n\n                dotCx =\n                    fretFingerOffsetPx i\n\n                dotAtY y =\n                    circle\n                        [ cy (Percent y)\n                        , cx (px dotCx)\n                        , r (px (stringSlicePx * 0.2))\n                        , fill (Fill (Color.rgb255 90 90 90))\n                        ]\n                        []\n            in\n            if ni == 0 then\n                [ dotAtY 17, dotAtY 83 ]\n\n            else if ni == 3 || ni == 5 || ni == 7 || ni == 9 then\n                [ dotAtY 50\n                ]\n\n            else\n                []\n\n        labels =\n            List.concatMap label model.labels\n\n        labelRadiusPx =\n            (stringSlicePx / 2) * 0.9\n\n        label l =\n            let\n                centerX =\n                    px (fretFingerOffsetPx l.position.fret)\n\n                centerY =\n                    px (stringYPx l.position.string)\n            in\n            [ circle\n                [ cx centerX\n                , cy centerY\n                , r (px labelRadiusPx)\n                , fill (Fill l.color)\n                ]\n                []\n            , text_\n                [ x centerX\n                , y centerY\n                , fontSize (px (labelRadiusPx * 1.1))\n                , textAnchor AnchorMiddle\n                , dominantBaseline DominantBaselineCentral\n                , fontFamily [ \"sans-serif\" ]\n                ]\n                [ text l.text ]\n            ]\n\n        fretboardLengthPx =\n            toFloat ((model.numFrets + 1) * fretColumnWidthPx) + fretWidthPx\n\n        marginPx =\n            20\n    in\n    svg [ width (Percent 100), viewBox 0 0 (fretboardLengthPx + 2 * marginPx) (fretboardHeightPx + 2 * marginPx) ]\n        [ svg [ x (px marginPx), y (px marginPx), height (px fretboardHeightPx), width (px fretboardLengthPx), viewBox 0 0 fretboardLengthPx fretboardHeightPx ]\n            ([ nut\n             , svg [ x (px fretColumnWidthPx) ]\n                (fingerboard :: (frets ++ strings))\n             ]\n                ++ inlays\n                ++ labels\n            )\n        ]\n")))

client-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "workspace/didChangeConfiguration" :params
          (:settings nil))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Elm version 0.19.1 detected."))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Reading elm.json from /Users/steve/Projects/fretboard/elm.json"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "2 source-dirs and test folders found"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Found 55 files to add to the project"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/Projects/fretboard/src/Fretboard.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/Projects/fretboard/src/Main.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/Projects/fretboard/src/Note.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/Projects/fretboard/src/Scale.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/Projects/fretboard/src/Tuning.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/avh4/elm-color/1.0.0/src/Color.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/AnimationManager.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/Dom.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/Events.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/Navigation.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Expando.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/History.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Main.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Metadata.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Overlay.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Report.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Array.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Basics.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Bitwise.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Char.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Debug.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Dict.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/List.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Maybe.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Platform.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Process.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Result.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Set.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/String.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Task.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Tuple.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Elm/JsArray.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Platform/Cmd.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Platform/Sub.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Attributes.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Events.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Keyed.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Lazy.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/Examples/Basic.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/Examples/RectangleInPx.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/Examples/SumAnimateTransform.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Attributes.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Core.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Deprecated.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Events.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Filters.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Types.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/TypesToStrings.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Attributes/InEm.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Attributes/InPx.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Extra/InPx.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding /Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Filters/Attributes.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received open for file:///Users/steve/Projects/fretboard/src/Foobar.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file open or save"))

server-request (id:0) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 0 :method "workspace/configuration" :params
          (:items
           [(:section "elmLS")]))

client-reply (id:0) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 0 :result
          [nil])

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received open for file:///Users/steve/Projects/fretboard/src/Scale.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file open or save"))

server-request (id:1) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 1 :method "workspace/configuration" :params
          (:items
           [(:section "elmLS")]))

client-reply (id:1) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 1 :result
          [nil])

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received open for file:///Users/steve/Projects/fretboard/src/Main.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file open or save"))

server-request (id:2) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 2 :method "workspace/configuration" :params
          (:items
           [(:section "elmLS")]))

client-reply (id:2) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 2 :result
          [nil])

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received open for file:///Users/steve/Projects/fretboard/src/Note.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file open or save"))

server-request (id:3) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 3 :method "workspace/configuration" :params
          (:items
           [(:section "elmLS")]))

client-reply (id:3) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 3 :result
          [nil])

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 4 :message "Received open for file:///Users/steve/Projects/fretboard/src/Fretboard.elm"))

server-notification Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Diagnostics were requested due to a file open or save"))

server-request (id:4) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 4 :method "workspace/configuration" :params
          (:items
           [(:section "elmLS")]))

client-reply (id:4) Mon Dec 30 11:05:17 2019:
(:jsonrpc "2.0" :id 4 :result
          [nil])

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Scale.elm" :diagnostics
                []))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                []))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Note.elm" :diagnostics
                []))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Fretboard.elm" :diagnostics
                []))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/Projects/fretboard/src/Fretboard.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/Projects/fretboard/src/Scale.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/Projects/fretboard/src/Main.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/Projects/fretboard/src/Note.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/Projects/fretboard/src/Tuning.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/AnimationManager.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/Navigation.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Expando.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/History.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/Dom.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Browser/Events.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Metadata.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Overlay.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Report.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/browser/1.0.2/src/Debugger/Main.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/avh4/elm-color/1.0.0/src/Color.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Array.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Bitwise.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Char.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Basics.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Debug.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Maybe.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/List.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Process.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Platform.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Result.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Task.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Tuple.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Elm/JsArray.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Platform/Cmd.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Platform/Sub.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/String.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Set.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Events.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Keyed.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Lazy.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/Examples/Basic.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/Examples/SumAnimateTransform.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Core.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Deprecated.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/Examples/RectangleInPx.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Events.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Filters.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Types.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/html/1.0.0/src/Html/Attributes.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm/core/1.0.4/src/Dict.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Attributes.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Extra/InPx.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Attributes/InEm.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Attributes/InPx.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/Filters/Attributes.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Adding imports file:///Users/steve/.elm/0.19.1/packages/elm-community/typed-svg/5.1.0/src/TypedSvg/TypesToStrings.elm"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Done parsing all files."))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Received new elm-analyse report with 1 messages"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 0 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Received new elm-analyse report with 1 messages"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 0 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Received new elm-analyse report with 1 messages"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 1 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Received new elm-analyse report with 1 messages"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 1 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "window/logMessage" :params
          (:type 3 :message "Received new elm-analyse report with 1 messages"))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Foobar.elm" :diagnostics
                [(:range
                  (:start
                   (:line 0 :character 0)
                   :end
                   (:line 0 :character 0))
                  :message "FILE NOT FOUND - I cannot find this file:\n\n    src/Foobar.elm\n\nIs there a typo?\n\nNote: If you are just getting started, try working through the examples in the\nofficial guide https://guide.elm-lang.org to get an idea of the kinds of things\nthat typically go in a src/Main.elm file." :severity 1 :source "Elm")]))

server-notification Mon Dec 30 11:05:18 2019:
(:jsonrpc "2.0" :method "textDocument/publishDiagnostics" :params
          (:uri "file:///Users/steve/Projects/fretboard/src/Main.elm" :diagnostics
                [(:code 1 :message "Record has only one field. Use the field's type or introduce a Type. \nSee https://stil4m.github.io/elm-analyse/#/messages/SingleFieldRecord" :range
                        (:end
                         (:line 16 :character 29)
                         :start
                         (:line 16 :character 4))
                        :severity 2 :source "elm-analyse")]))