Skip to content

Commit

Permalink
Add Info Panel feature (#1085)
Browse files Browse the repository at this point in the history
* Initial implementation of Info Panel

* Use documentation endpoint for the info panel
Add more information to the panel and workaround link support in signatures

* Add link navigation in info panel

* Update panel to latest version

* Add lock/unlock ability to the info panel

* Update package.json

* Update dependencies

* Work on InfoPanel UX

* Update dependencies
  • Loading branch information
Krzysztof-Cieslak authored May 6, 2019
1 parent dc1b5bb commit ee1d0e2
Show file tree
Hide file tree
Showing 17 changed files with 516 additions and 54 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"fable-loader": "1.0.7",
"fable-utils": "^1.0.2",
"mocha": "*",
"showdown": "^1.9.0",
"toml": "*",
"vscode": "*",
"webpack": "^3.5.5",
Expand Down
1 change: 1 addition & 0 deletions paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ github ionide/ionide-vscode-helpers src/Fable.Import.VSCode.fs
github ionide/ionide-vscode-helpers src/Helpers.fs
github ionide/ionide-vscode-helpers src/Fable.Import.Axios.fs
github ionide/ionide-vscode-helpers src/Fable.Import.ws.fs
github ionide/ionide-vscode-helpers src/Fable.Import.Showdown.fs

group build
source https://www.nuget.org/api/v2
Expand Down
21 changes: 11 additions & 10 deletions paket.lock
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ NUGET
System.Runtime.Loader (>= 4.0) - restriction: && (< net461) (>= netstandard2.0)
System.Security.Cryptography.Algorithms (>= 4.3) - restriction: && (< net461) (>= netstandard2.0)
FSharp.Core (4.6.2) - restriction: >= netstandard1.6
Microsoft.NETCore.App (2.2.3) - restriction: >= netcoreapp2.0
Microsoft.NETCore.App (2.2.4) - restriction: >= netcoreapp2.0
Microsoft.NETCore.Platforms (2.2) - restriction: || (&& (>= net45) (< netstandard1.3) (>= netstandard1.6)) (&& (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< net45) (>= netstandard2.0)) (&& (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (>= net461) (>= netstandard1.6)) (>= netcoreapp2.0) (&& (< netstandard1.0) (>= netstandard1.6) (< portable-net45+win8)) (&& (< netstandard1.0) (>= netstandard1.6) (>= win8)) (&& (< netstandard1.0) (>= netstandard1.6) (< win8)) (&& (< netstandard1.3) (>= netstandard1.6) (< win8) (>= wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81)) (&& (>= netstandard1.6) (>= uap10.1)) (&& (>= netstandard1.6) (>= wp8))
Microsoft.NETCore.Targets (2.1) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< netstandard1.2) (>= netstandard1.6) (>= uap10.0) (< win8)) (&& (< netstandard1.3) (>= netstandard1.6) (>= uap10.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0) (< win8) (< wpa81)) (&& (>= netstandard1.6) (< portable-net45+win8+wp8+wpa81)) (&& (>= netstandard1.6) (< portable-net45+win8+wpa81))
Microsoft.Win32.Primitives (4.3) - restriction: || (&& (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4) (>= netstandard1.6)) (>= netcoreapp2.0) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0))
Expand Down Expand Up @@ -95,7 +95,7 @@ NUGET
System.Threading.Timer (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1))
System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= net46) (< netstandard1.4)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1))
System.Xml.XDocument (>= 4.3) - restriction: || (&& (< net45) (>= netstandard1.1) (< netstandard1.2) (< win8)) (&& (< net45) (>= netstandard1.2) (< netstandard1.3) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.3) (< netstandard1.4) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.4) (< netstandard1.5) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.5) (< netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81)) (&& (>= netstandard1.0) (< portable-net45+win8+wpa81) (< wp8)) (&& (< netstandard1.5) (>= uap10.0) (< uap10.1))
Newtonsoft.Json (12.0.1) - restriction: >= netcoreapp2.0
Newtonsoft.Json (12.0.2) - restriction: >= netcoreapp2.0
runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0))
runtime.debian.9-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0))
runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl (4.3.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.6) (< netstandard2.0) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (< netstandard1.2) (>= netstandard1.6) (< win8)) (&& (< monoandroid) (< net45) (< netstandard1.3) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.4) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< monoandroid) (< net45) (< netstandard1.5) (>= netstandard1.6) (< win8) (< wpa81)) (&& (< net45) (>= net46) (< netstandard1.4) (>= netstandard1.6)) (&& (< netstandard1.5) (>= netstandard1.6) (>= uap10.0))
Expand Down Expand Up @@ -604,10 +604,10 @@ NUGET
FSharp.Core (>= 4.3.4) - restriction: >= netstandard2.0
GIT
remote: https://github.com/fsharp/FsAutoComplete.git
(630b6935b7913e7e126b1843235123b62906ca03)
(c9636b287d0c51b49ab4d0528e36f40392ddaf2b)
build: build.cmd LocalRelease
os: windows
(630b6935b7913e7e126b1843235123b62906ca03)
(c9636b287d0c51b49ab4d0528e36f40392ddaf2b)
build: build.sh LocalRelease
os: mono
remote: https://github.com/fsharp-editing/Forge.git
Expand All @@ -618,13 +618,14 @@ GIT
build: build.sh Build
os: mono
remote: https://github.com/ionide/ionide-fsgrammar.git
(942f1a311f84a402cb397d7a9f2bc17e630f8834)
(b2100c95d7857c5421d111a860fcdd20954a0263)
GITHUB
remote: ionide/ionide-vscode-helpers
src/Fable.Import.Axios.fs (50c364c2e88acc2fec7094bfd3be0973cb2826aa)
src/Fable.Import.VSCode.fs (50c364c2e88acc2fec7094bfd3be0973cb2826aa)
src/Fable.Import.ws.fs (50c364c2e88acc2fec7094bfd3be0973cb2826aa)
src/Helpers.fs (50c364c2e88acc2fec7094bfd3be0973cb2826aa)
src/Fable.Import.Axios.fs (af96a42db5a5f518d66c50f46ad903955360028e)
src/Fable.Import.Showdown.fs (af96a42db5a5f518d66c50f46ad903955360028e)
src/Fable.Import.VSCode.fs (af96a42db5a5f518d66c50f46ad903955360028e)
src/Fable.Import.ws.fs (af96a42db5a5f518d66c50f46ad903955360028e)
src/Helpers.fs (af96a42db5a5f518d66c50f46ad903955360028e)
GROUP build
NUGET
remote: https://www.nuget.org/api/v2
Expand Down Expand Up @@ -1140,5 +1141,5 @@ NUGET
System.Xml.ReaderWriter (>= 4.3) - restriction: || (&& (< monoandroid) (< monotouch) (< net45) (>= netstandard1.3) (< win8) (< wpa81) (< xamarinios) (< xamarinmac) (< xamarintvos) (< xamarinwatchos)) (&& (< monoandroid) (< net45) (>= netstandard1.0) (< netstandard1.3) (< win8) (< wp8) (< wpa81)) (< portable-net45+win8+wp8+wpa81)
GITHUB
remote: fsharp/FAKE
modules/Octokit/Octokit.fsx (22668d1c0dbb43626c4d2abdc13e9614e8c9d04d)
modules/Octokit/Octokit.fsx (233a5ab4a51f5c6cf7bd2b1972d6bb5cccee9067)
Octokit (>= 0.20)
1 change: 1 addition & 0 deletions release/images/lock-open-solid-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions release/images/lock-open-solid.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions release/images/lock-solid-light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions release/images/lock-solid.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
88 changes: 86 additions & 2 deletions release/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -422,13 +422,47 @@
},
{
"command": "fsharp.revealInSolutionExplorer",
"title": "F#: Reveal in solution explorer",
"title": "Reveal in solution explorer",
"category": "F#",
"icon": {
"light": "./images/auto-reveal-light.svg",
"dark": "./images/auto-reveal-dark.svg"
}
}
},
{
"command": "fsharp.openInfoPanel",
"title": "Open Info Panel",
"description": "Opens Info Panel displaying documentation",
"category": "F#"
},
{
"command": "fsharp.updateInfoPanel",
"title": "Update Info Panel",
"description": "Updates Info Panel with documentation of current symbol",
"category": "F#"
},
{
"command": "fsharp.showDocumentation",
"title": "Show Documentation for given symbol"
},
{
"command": "fsharp.openInfoPanel.lock",
"title": "Lock Info Panel",
"category": "F#",
"icon": {
"light": "./images/lock-solid-light.svg",
"dark": "./images/lock-solid.svg"
}
},
{
"command": "fsharp.openInfoPanel.unlock",
"title": "Unlock Info Panel",
"category": "F#",
"icon": {
"light": "./images/lock-open-solid-light.svg",
"dark": "./images/lock-open-solid.svg"
}
}
],
"viewsContainers": {
"activitybar": [
Expand Down Expand Up @@ -633,6 +667,10 @@
{
"command": "MSBuild.cleanCurrent",
"when": "editorLangId == 'fsharp'"
},
{
"command": "fsharp.showDocumentation",
"when": "false"
}
],
"view/title": [
Expand Down Expand Up @@ -998,6 +1036,16 @@
"command": "fsharp.scriptrunner.run",
"when": "editorLangId == 'fsharp' && resourceExtname == '.fsx'",
"group": "navigation"
},
{
"command": "fsharp.openInfoPanel.unlock",
"when": "infoPanelFocused && infoPanelLocked",
"group": "navigation"
},
{
"command": "fsharp.openInfoPanel.lock",
"when": "infoPanelFocused && !infoPanelLocked",
"group": "navigation"
}
],
"touchBar": [
Expand Down Expand Up @@ -1060,6 +1108,16 @@
"command": "MSBuild.buildCurrentSolution",
"key": "ctrl+alt+shift+b",
"when": "fsharp.project.any"
},
{
"command": "fsharp.openInfoPanel",
"key": "alt+,",
"when": "editorFocus && editorLangId == 'fsharp'"
},
{
"command": "fsharp.updateInfoPanel",
"key": "alt+.",
"when": "editorFocus && editorLangId == 'fsharp'"
}
],
"configurationDefaults": {
Expand Down Expand Up @@ -1348,6 +1406,32 @@
"type": "boolean",
"default": false,
"description": "Enables smart indent feature"
},
"FSharp.infoPanelUpdate": {
"type": "string",
"description": "Controls when the info panel is updated",
"enum": [
"onCursorMove",
"onHover",
"both",
"none"
],
"default": "onCursorMove"
},
"FSharp.infoPanelReplaceHover": {
"type": "boolean",
"description": "Controls whether the info panel replaces tooltips",
"default": false
},
"FSharp.infoPanelStartLocked": {
"type": "boolean",
"description": "Controls whether the info panel should be locked at startup",
"default": false
},
"FSharp.infoPanelShowOnStartup": {
"type": "boolean",
"description": "Controls whether the info panel should be displayed at startup",
"default": false
}
}
},
Expand Down
Loading

0 comments on commit ee1d0e2

Please sign in to comment.