Skip to content

Commit c493934

Browse files
committed
Change to beginner mode
1 parent 2a8bb14 commit c493934

4 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/main/scala/viper/server/ViperConfig.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ class ViperConfig(args: Seq[String]) extends ScallopConf(args) {
5353
hidden = false
5454
)
5555

56-
val presentationMode: ScallopOption[Boolean] = opt[Boolean]("presentationMode",
57-
descr = "Enables presentation mode, which disables most LSP features (those that are distracting in presentations).",
56+
val beginnerMode: ScallopOption[Boolean] = opt[Boolean]("beginnerMode",
57+
descr = "Enables beginner mode, which disables some advanced features that can be confusing for new users.",
5858
default = Some(false),
5959
noshort = true,
6060
hidden = false

src/main/scala/viper/server/frontends/lsp/Receiver.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ trait StandardReceiver {
3030
trait LanguageReceiver extends StandardReceiver with LanguageServer {
3131

3232
override def initialize(params: InitializeParams): CompletableFuture[InitializeResult] = {
33-
val presentationMode = coordinator.server.config.presentationMode()
34-
coordinator.logger.debug(s"[Req: initialize] ${params.toString()} (presentation mode: $presentationMode)")
33+
coordinator.logger.debug(s"[Req: initialize] ${params.toString()}")
3534
val capabilities = new ServerCapabilities()
3635
capabilities.setTextDocumentSync(TextDocumentSyncKind.Incremental)
3736
// Features https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#languageFeatures
@@ -53,9 +52,9 @@ trait LanguageReceiver extends StandardReceiver with LanguageServer {
5352
// Document Link (disabled Resolve):
5453
capabilities.setDocumentLinkProvider(new DocumentLinkOptions(false))
5554
// Hover:
56-
if (!presentationMode) capabilities.setHoverProvider(true)
55+
capabilities.setHoverProvider(true)
5756
// Code Lens (disabled Resolve):
58-
if (!presentationMode) capabilities.setCodeLensProvider(new CodeLensOptions(false))
57+
capabilities.setCodeLensProvider(new CodeLensOptions(false))
5958
// Folding Range:
6059
capabilities.setFoldingRangeProvider(true)
6160
// Selection Range: [N/A]
@@ -78,15 +77,15 @@ trait LanguageReceiver extends StandardReceiver with LanguageServer {
7877
capabilities.setSemanticTokensProvider(new SemanticTokensWithRegistrationOptions(legend, true))
7978
// Inline Value: [N/A]
8079
// Inlay Hint (disabled Resolve):
81-
if (!presentationMode) capabilities.setInlayHintProvider(true)
80+
capabilities.setInlayHintProvider(true)
8281
// Moniker: [N/A]
8382
// Completion Proposals:
84-
if (!presentationMode) capabilities.setCompletionProvider(new CompletionOptions(false, Seq(".", ":", "(", "[", "{").asJava))
83+
capabilities.setCompletionProvider(new CompletionOptions(false, Seq(".", ":", "(", "[", "{").asJava))
8584
// Pull Diagnostics: DISABLED (we use `publishDiagnostics` instead)
8685
// capabilities.setDiagnosticProvider(new DiagnosticRegistrationOptions(true, false))
8786
// Signature Help:
8887
// Allow a `,` to try and restart the signature help even after it has ended
89-
if (!presentationMode) capabilities.setSignatureHelpProvider(new SignatureHelpOptions(Seq("(", ",").asJava, Seq().asJava))
88+
capabilities.setSignatureHelpProvider(new SignatureHelpOptions(Seq("(", ",").asJava, Seq().asJava))
9089
// Code Action:
9190
capabilities.setCodeActionProvider(true)
9291
// Document Color: [N/A]

src/main/scala/viper/server/frontends/lsp/ast/ParseAstLsp.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ object HasFoldingRanges {
6464
}
6565

6666
object HasInlayHints {
67-
def apply(p: PProgram): Seq[InlayHint] = p.deepCollect({
68-
case n: PCall => PLspCall.getInlayHints(n)
67+
def apply(p: PProgram, beginnerMode: Boolean): Seq[InlayHint] = p.deepCollect({
68+
case n: PCall if !beginnerMode => PLspCall.getInlayHints(n)
6969
case n: PLet => PLspLet.getInlayHints(n)
7070
}).flatten
7171
}

src/main/scala/viper/server/frontends/lsp/file/RelayActor.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,14 @@ class RelayActor(task: MessageHandler, backendClassName: Option[String]) extends
129129
task.resetContainers(true)
130130
task.lastPhase = Some(phase)
131131

132+
val beginnerMode = coordinator.server.config.beginnerMode()
132133
task.addCodeLens(true)(HasCodeLens(pProgram))
133134
task.addDocumentSymbol(true)(HasDocumentSymbol(pProgram).toSeq)
134135
task.addHoverHint(true)(HasHoverHints(pProgram))
135136
task.addGotoDefinition(true)(HasGotoDefinitions(pProgram))
136137
task.addFindReferences(true)(HasReferenceTos(pProgram))
137138
task.addFoldingRange(true)(HasFoldingRanges(pProgram))
138-
task.addInlayHint(true)(HasInlayHints(pProgram))
139+
task.addInlayHint(true)(HasInlayHints(pProgram, beginnerMode))
139140
task.addSemanticHighlight(true)(HasSemanticHighlights(pProgram))
140141
task.addSignatureHelp(true)(HasSignatureHelps(pProgram))
141142
task.addSuggestionScopeRange(true)(HasSuggestionScopeRanges(pProgram))

0 commit comments

Comments
 (0)