Skip to content

Commit

Permalink
Handle language specific codeLens config
Browse files Browse the repository at this point in the history
  • Loading branch information
vbfox committed Sep 1, 2017
1 parent 798d738 commit 12d06a1
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/Components/LineLens.fs
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,12 @@ module LineLensConfig =

let getConfig () =
let cfg = workspace.getConfiguration()
let fsharpCodeLensConfig = cfg.get("[fsharp]", JsObject.empty).tryGet<bool>("editor.codeLens")
let globalCodeLensConfig = cfg.get("editor.codeLens", defaultConfig.codeLensEnabled)
let codeLensEnabled = defaultArg fsharpCodeLensConfig globalCodeLensConfig
{
enabled = cfg.get("FSharp.lineLens.enabled", "replacecodelens") |> parseEnabledMode
codeLensEnabled = cfg.get("editor.codeLens", defaultConfig.codeLensEnabled)
codeLensEnabled = codeLensEnabled
prefix = cfg.get("FSharp.lineLens.prefix", defaultConfig.prefix)
color = cfg.get("FSharp.lineLens.color", "theme(editorCodeLens.foreground)") |> parseColor
}
Expand All @@ -70,7 +73,7 @@ module LineLensConfig =

module Documents =
type Cached = {
/// vscode version that was parsed
/// vscode document version that was parsed
version: Number
/// Decorations
decorations: ResizeArray<DecorationOptions>
Expand Down
25 changes: 25 additions & 0 deletions src/Core/Utils.fs
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,28 @@ module JS =
[<Emit("debugger")>]
let debugger () : unit = failwith "JS Only"

type JsObject =
[<Emit("$0[$1]")>]
member __.get<'a>(key: string): 'a = jsNative

[<Emit("$0.hasOwnProperty($1)?$0[$1]:null")>]
member __.tryGet<'a>(key: string): Option<'a> = jsNative

[<Emit("$0.hasOwnProperty($1)")>]
member __.hasOwnProperty(key: string): bool = jsNative

[<Emit("$0[$1]=$2")>]
member __.set<'a>(key: string, value: 'a) = jsNative

[<Emit("$0[$1]=$2")>]
member __.set<'a>(key: string, value: 'a option) = jsNative

[<Emit("delete $0[$1]")>]
member __.delete(key: string): unit = jsNative

[<Emit("{}")>]
static member empty: JsObject = jsNative

type JsObjectAsDictionary<'a> =
[<Emit("$0[$1]")>]
member __.get(key: string): 'a = jsNative
Expand All @@ -113,6 +135,9 @@ module JS =
[<Emit("delete $0[$1]")>]
member __.delete(key: string): unit = jsNative

[<Emit("{}")>]
static member empty: JsObjectAsDictionary<'a> = jsNative

[<AutoOpen>]
module Patterns =
let (|StartsWith|_|) (pat: string) (str: string) =
Expand Down

0 comments on commit 12d06a1

Please sign in to comment.