Skip to content
This repository was archived by the owner on Nov 6, 2018. It is now read-only.

Commit 062d160

Browse files
committed
refactor: rename textDocument/decoration{s => } (singular not plural)
This is for consistency with other CXP methods (most of which are singular). The textDocument/publishDecorations notification should remain plural for consistency with textDocument/publishDiagnostics. BREAKING CHANGE: The CXP method textDocument/decorations was renamed to textDocument/decoration. This package's API types related to the method also changed names.
1 parent df221a5 commit 062d160

13 files changed

+78
-85
lines changed

examples/client/example-client-simple.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as NodeWebSocket from 'ws'
22
import { createMessageConnection } from '../../src/jsonrpc2/connection'
33
import { createWebSocketMessageTransports } from '../../src/jsonrpc2/transports/nodeWebSocket'
44
import { InitializeParams, InitializeRequest, InitializeResult } from '../../src/protocol'
5-
import { TextDocumentDecorationsParams, TextDocumentDecorationsRequest } from '../../src/protocol/decoration'
5+
import { TextDocumentDecorationParams, TextDocumentDecorationRequest } from '../../src/protocol/decoration'
66
import config from './config'
77

88
async function run(): Promise<void> {
@@ -22,7 +22,7 @@ async function run(): Promise<void> {
2222
const initResult: InitializeResult = await connection.sendRequest(InitializeRequest.type, {
2323
root: config.root,
2424
initializationOptions: config.initializationOptions,
25-
capabilities: { decorations: { static: true } },
25+
capabilities: { decoration: { static: true } },
2626
} as InitializeParams)
2727
console.log('Initialized:', initResult)
2828
} catch (err) {
@@ -43,9 +43,9 @@ async function run(): Promise<void> {
4343

4444
console.log('textDocument/decorations...')
4545
try {
46-
const result = await connection.sendRequest(TextDocumentDecorationsRequest.type, {
46+
const result = await connection.sendRequest(TextDocumentDecorationRequest.type, {
4747
textDocument: { uri: `${config.root}#mux.go` },
48-
} as TextDocumentDecorationsParams)
48+
} as TextDocumentDecorationParams)
4949
console.log('textDocument/decorations result:', result)
5050
} catch (err) {
5151
console.error('textDocument/decorations failed:', err.message)

examples/client/example-client.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import { BehaviorSubject } from 'rxjs'
22
import { filter } from 'rxjs/operators'
33
import * as WebSocket from 'ws'
44
import { Client, ClientState } from '../../src/client/client'
5-
import { TextDocumentStaticDecorationsFeature } from '../../src/client/features/decoration'
5+
import { TextDocumentStaticDecorationFeature } from '../../src/client/features/decoration'
66
import { TextDocumentHoverFeature } from '../../src/client/features/hover'
77
import { TextDocumentDidOpenFeature } from '../../src/client/features/textDocument'
88
import { createObservableEnvironment, EMPTY_ENVIRONMENT, Environment } from '../../src/environment/environment'
99
import { NoopProviderRegistry } from '../../src/environment/providers/textDocument'
1010
import { createWebSocketMessageTransports } from '../../src/jsonrpc2/transports/nodeWebSocket'
11-
import { TextDocumentDecorationsParams, TextDocumentDecorationsRequest } from '../../src/protocol/decoration'
11+
import { TextDocumentDecorationParams, TextDocumentDecorationRequest } from '../../src/protocol/decoration'
1212
import config from './config'
1313

1414
const environment = new BehaviorSubject<Environment>(EMPTY_ENVIRONMENT)
@@ -27,7 +27,7 @@ const client = new Client('', '', {
2727
})
2828
client.registerFeature(new TextDocumentDidOpenFeature(client))
2929
client.registerFeature(new TextDocumentHoverFeature(client, new NoopProviderRegistry()))
30-
client.registerFeature(new TextDocumentStaticDecorationsFeature(client, new NoopProviderRegistry()))
30+
client.registerFeature(new TextDocumentStaticDecorationFeature(client, new NoopProviderRegistry()))
3131
client.state.subscribe(state => console.log('Client state:', ClientState[state]))
3232
client.start()
3333
const onReady = client.state.pipe(filter(state => state === ClientState.Running))
@@ -46,9 +46,9 @@ async function run(): Promise<void> {
4646

4747
console.log('textDocument/decorations...')
4848
try {
49-
const result = await client.sendRequest(TextDocumentDecorationsRequest.type, {
49+
const result = await client.sendRequest(TextDocumentDecorationRequest.type, {
5050
textDocument: { uri: `${config.root}#mux.go` },
51-
} as TextDocumentDecorationsParams)
51+
} as TextDocumentDecorationParams)
5252
console.log('textDocument/decorations result:', result)
5353
} catch (err) {
5454
console.error('textDocument/decorations failed:', err.message)

examples/server/example-server-node.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import * as WebSocket from 'ws'
44
import { createWebSocketMessageTransports } from '../../src/jsonrpc2/transports/nodeWebSocket'
55
import { StreamMessageReader, StreamMessageWriter } from '../../src/jsonrpc2/transports/stream'
66
import { InitializeResult } from '../../src/protocol'
7-
import { TextDocumentDecoration, TextDocumentDecorationsParams } from '../../src/protocol/decoration'
7+
import { TextDocumentDecoration, TextDocumentDecorationParams } from '../../src/protocol/decoration'
88
import { Connection, createConnection } from '../../src/server/server'
99

1010
function register(connection: Connection): void {
@@ -16,8 +16,8 @@ function register(connection: Connection): void {
1616
)
1717

1818
connection.onRequest(
19-
'textDocument/decorations',
20-
(params: TextDocumentDecorationsParams): TextDocumentDecoration[] =>
19+
'textDocument/decoration',
20+
(params: TextDocumentDecorationParams): TextDocumentDecoration[] =>
2121
['cyan', 'magenta', 'yellow', 'black'].map(
2222
(color, i) =>
2323
({

examples/server/example-server-webworker.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createWebWorkerMessageTransports, Worker } from '../../src/jsonrpc2/transports/webWorker'
22
import { InitializeResult } from '../../src/protocol'
3-
import { TextDocumentDecoration, TextDocumentDecorationsParams } from '../../src/protocol/decoration'
3+
import { TextDocumentDecoration, TextDocumentDecorationParams } from '../../src/protocol/decoration'
44
import { Connection, createConnection } from '../../src/server/server'
55

66
declare var self: Worker
@@ -9,13 +9,13 @@ function register(connection: Connection): void {
99
connection.onInitialize(
1010
params =>
1111
({
12-
capabilities: { decorationsProvider: { static: true } },
12+
capabilities: { decorationProvider: { static: true } },
1313
} as InitializeResult)
1414
)
1515

1616
connection.onRequest(
17-
'textDocument/decorations',
18-
(params: TextDocumentDecorationsParams): TextDocumentDecoration[] =>
17+
'textDocument/decoration',
18+
(params: TextDocumentDecorationParams): TextDocumentDecoration[] =>
1919
['cyan', 'magenta', 'yellow', 'black', 'cyan', 'magenta', 'yellow', 'black'].map(
2020
(color, i) =>
2121
({

src/client/features/decoration.ts

+27-27
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { BehaviorSubject, from, Observable, TeardownLogic } from 'rxjs'
22
import * as uuidv4 from 'uuid/v4'
33
import { TextDocumentIdentifier } from 'vscode-languageserver-types'
4-
import { ProvideTextDocumentDecorationsSignature } from '../../environment/providers/decoration'
4+
import { ProvideTextDocumentDecorationSignature } from '../../environment/providers/decoration'
55
import { TextDocumentFeatureProviderRegistry } from '../../environment/providers/textDocument'
66
import { ClientCapabilities, ServerCapabilities, TextDocumentRegistrationOptions } from '../../protocol'
77
import {
88
TextDocumentDecoration,
9-
TextDocumentDecorationsParams,
10-
TextDocumentDecorationsRequest,
9+
TextDocumentDecorationParams,
10+
TextDocumentDecorationRequest,
1111
TextDocumentPublishDecorationsNotification,
1212
TextDocumentPublishDecorationsParams,
1313
} from '../../protocol/decoration'
@@ -16,32 +16,32 @@ import { NextSignature } from '../../types/middleware'
1616
import { Client } from '../client'
1717
import { ensure, TextDocumentFeature } from './common'
1818

19-
export type ProvideTextDocumentDecorationsMiddleware = NextSignature<
20-
TextDocumentDecorationsParams,
19+
export type ProvideTextDocumentDecorationMiddleware = NextSignature<
20+
TextDocumentDecorationParams,
2121
Observable<TextDocumentDecoration[] | null>
2222
>
2323

2424
/**
25-
* Support for static text document decorations requested by the client (textDocument/decorations requests to the
25+
* Support for static text document decorations requested by the client (textDocument/decoration requests to the
2626
* server).
2727
*/
28-
export class TextDocumentStaticDecorationsFeature extends TextDocumentFeature<TextDocumentRegistrationOptions> {
28+
export class TextDocumentStaticDecorationFeature extends TextDocumentFeature<TextDocumentRegistrationOptions> {
2929
constructor(
3030
client: Client,
3131
private registry: TextDocumentFeatureProviderRegistry<
3232
TextDocumentRegistrationOptions,
33-
ProvideTextDocumentDecorationsSignature
33+
ProvideTextDocumentDecorationSignature
3434
>
3535
) {
36-
super(client, TextDocumentDecorationsRequest.type)
36+
super(client, TextDocumentDecorationRequest.type)
3737
}
3838

3939
public fillClientCapabilities(capabilities: ClientCapabilities): void {
40-
ensure(capabilities, 'decorations')!.static = true
40+
ensure(capabilities, 'decoration')!.static = true
4141
}
4242

4343
public initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void {
44-
if (!capabilities.decorationsProvider || !capabilities.decorationsProvider.static || !documentSelector) {
44+
if (!capabilities.decorationProvider || !capabilities.decorationProvider.static || !documentSelector) {
4545
return
4646
}
4747
this.register(this.messages, {
@@ -52,20 +52,20 @@ export class TextDocumentStaticDecorationsFeature extends TextDocumentFeature<Te
5252

5353
protected registerProvider(options: TextDocumentRegistrationOptions): TeardownLogic {
5454
const client = this.client
55-
const provideTextDocumentDecorations: ProvideTextDocumentDecorationsSignature = params =>
56-
from(client.sendRequest(TextDocumentDecorationsRequest.type, params))
55+
const provideTextDocumentDecoration: ProvideTextDocumentDecorationSignature = params =>
56+
from(client.sendRequest(TextDocumentDecorationRequest.type, params))
5757
const middleware = client.clientOptions.middleware!
5858
return this.registry.registerProvider(
5959
options,
60-
(params: TextDocumentDecorationsParams): Observable<TextDocumentDecoration[] | null> =>
61-
middleware.provideTextDocumentDecorations
62-
? middleware.provideTextDocumentDecorations(params, provideTextDocumentDecorations)
63-
: provideTextDocumentDecorations(params)
60+
(params: TextDocumentDecorationParams): Observable<TextDocumentDecoration[] | null> =>
61+
middleware.provideTextDocumentDecoration
62+
? middleware.provideTextDocumentDecoration(params, provideTextDocumentDecoration)
63+
: provideTextDocumentDecoration(params)
6464
)
6565
}
6666
}
6767

68-
export type HandleTextDocumentDecorationsMiddleware = NextSignature<
68+
export type HandleTextDocumentDecorationMiddleware = NextSignature<
6969
TextDocumentPublishDecorationsParams,
7070
Observable<TextDocumentDecoration[] | null>
7171
>
@@ -74,26 +74,26 @@ export type HandleTextDocumentDecorationsMiddleware = NextSignature<
7474
* Support for dynamic text document decorations published by the server (textDocument/publishDecorations
7575
* notifications from the server).
7676
*/
77-
export class TextDocumentDynamicDecorationsFeature extends TextDocumentFeature<TextDocumentRegistrationOptions> {
77+
export class TextDocumentDynamicDecorationFeature extends TextDocumentFeature<TextDocumentRegistrationOptions> {
7878
/** Map of document URI to its decorations (last published by the server). */
7979
private decorations = new Map<string, BehaviorSubject<TextDocumentDecoration[] | null>>()
8080

8181
constructor(
8282
client: Client,
8383
private registry: TextDocumentFeatureProviderRegistry<
8484
TextDocumentRegistrationOptions,
85-
ProvideTextDocumentDecorationsSignature
85+
ProvideTextDocumentDecorationSignature
8686
>
8787
) {
8888
super(client, TextDocumentPublishDecorationsNotification.type)
8989
}
9090

9191
public fillClientCapabilities(capabilities: ClientCapabilities): void {
92-
ensure(capabilities, 'decorations')!.dynamic = true
92+
ensure(capabilities, 'decoration')!.dynamic = true
9393
}
9494

9595
public initialize(capabilities: ServerCapabilities, documentSelector: DocumentSelector): void {
96-
if (!capabilities.decorationsProvider || !capabilities.decorationsProvider.dynamic || !documentSelector) {
96+
if (!capabilities.decorationProvider || !capabilities.decorationProvider.dynamic || !documentSelector) {
9797
return
9898
}
9999
this.register(this.messages, {
@@ -108,15 +108,15 @@ export class TextDocumentDynamicDecorationsFeature extends TextDocumentFeature<T
108108

109109
protected registerProvider(options: TextDocumentRegistrationOptions): TeardownLogic {
110110
const client = this.client
111-
const provideTextDocumentDecorations: ProvideTextDocumentDecorationsSignature = params =>
111+
const provideTextDocumentDecoration: ProvideTextDocumentDecorationSignature = params =>
112112
this.getDecorationsSubject(params.textDocument)
113113
const middleware = client.clientOptions.middleware!
114114
return this.registry.registerProvider(
115115
options,
116-
(params: TextDocumentDecorationsParams): Observable<TextDocumentDecoration[] | null> =>
117-
middleware.provideTextDocumentDecorations
118-
? middleware.provideTextDocumentDecorations(params, provideTextDocumentDecorations)
119-
: provideTextDocumentDecorations(params)
116+
(params: TextDocumentDecorationParams): Observable<TextDocumentDecoration[] | null> =>
117+
middleware.provideTextDocumentDecoration
118+
? middleware.provideTextDocumentDecoration(params, provideTextDocumentDecoration)
119+
: provideTextDocumentDecoration(params)
120120
)
121121
}
122122

src/client/middleware.ts

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
import { TextDocument } from 'vscode-languageserver-types'
22
import { NextSignature } from '../types/middleware'
3-
import {
4-
HandleTextDocumentDecorationsMiddleware,
5-
ProvideTextDocumentDecorationsMiddleware,
6-
} from './features/decoration'
3+
import { HandleTextDocumentDecorationMiddleware, ProvideTextDocumentDecorationMiddleware } from './features/decoration'
74
import { ProvideTextDocumentHoverMiddleware } from './features/hover'
85

96
export interface Middleware {
107
didOpen?: NextSignature<TextDocument, void>
118
provideTextDocumentHover?: ProvideTextDocumentHoverMiddleware
12-
provideTextDocumentDecorations?: ProvideTextDocumentDecorationsMiddleware
13-
handleTextDocumentDecorations?: HandleTextDocumentDecorationsMiddleware
9+
provideTextDocumentDecoration?: ProvideTextDocumentDecorationMiddleware
10+
handleTextDocumentDecoration?: HandleTextDocumentDecorationMiddleware
1411
}

src/environment/controller.ts

+4-8
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {
88
ConfigurationUpdateFeature,
99
} from '../client/features/configuration'
1010
import {
11-
TextDocumentDynamicDecorationsFeature,
12-
TextDocumentStaticDecorationsFeature,
11+
TextDocumentDynamicDecorationFeature,
12+
TextDocumentStaticDecorationFeature,
1313
} from '../client/features/decoration'
1414
import { TextDocumentHoverFeature } from '../client/features/hover'
1515
import { WindowLogMessageFeature } from '../client/features/logMessage'
@@ -178,12 +178,8 @@ export class Controller<X extends Extension = Extension> implements Unsubscribab
178178
client.registerFeature(new ExecuteCommandFeature(client, this.registries.commands))
179179
client.registerFeature(new TextDocumentDidOpenFeature(client))
180180
client.registerFeature(new TextDocumentHoverFeature(client, this.registries.textDocumentHover))
181-
client.registerFeature(
182-
new TextDocumentStaticDecorationsFeature(client, this.registries.textDocumentDecorations)
183-
)
184-
client.registerFeature(
185-
new TextDocumentDynamicDecorationsFeature(client, this.registries.textDocumentDecorations)
186-
)
181+
client.registerFeature(new TextDocumentStaticDecorationFeature(client, this.registries.textDocumentDecoration))
182+
client.registerFeature(new TextDocumentDynamicDecorationFeature(client, this.registries.textDocumentDecoration))
187183
client.registerFeature(
188184
new WindowLogMessageFeature(client, (params: LogMessageParams) =>
189185
this._logMessages.next({ ...params, extension: client.id })

src/environment/providers/decoration.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import { combineLatest, Observable } from 'rxjs'
22
import { catchError, map, switchMap } from 'rxjs/operators'
33
import { TextDocumentRegistrationOptions } from '../../protocol'
4-
import { TextDocumentDecoration, TextDocumentDecorationsParams } from '../../protocol/decoration'
4+
import { TextDocumentDecoration, TextDocumentDecorationParams } from '../../protocol/decoration'
55
import { compact, flatten } from '../../util'
66
import { TextDocumentFeatureProviderRegistry } from './textDocument'
77

8-
export type ProvideTextDocumentDecorationsSignature = (
9-
params: TextDocumentDecorationsParams
8+
export type ProvideTextDocumentDecorationSignature = (
9+
params: TextDocumentDecorationParams
1010
) => Observable<TextDocumentDecoration[] | null>
1111

1212
/** Provides text document decorations from all extensions. */
13-
export class TextDocumentDecorationsProviderRegistry extends TextDocumentFeatureProviderRegistry<
13+
export class TextDocumentDecorationProviderRegistry extends TextDocumentFeatureProviderRegistry<
1414
TextDocumentRegistrationOptions,
15-
ProvideTextDocumentDecorationsSignature
15+
ProvideTextDocumentDecorationSignature
1616
> {
17-
public getDecorations(params: TextDocumentDecorationsParams): Observable<TextDocumentDecoration[] | null> {
17+
public getDecorations(params: TextDocumentDecorationParams): Observable<TextDocumentDecoration[] | null> {
1818
return this.providers
1919
.pipe(
2020
switchMap(providers =>

src/environment/registries.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { CommandRegistry } from '../client/features/command'
2-
import { TextDocumentDecorationsProviderRegistry } from './providers/decoration'
2+
import { TextDocumentDecorationProviderRegistry } from './providers/decoration'
33
import { TextDocumentHoverProviderRegistry } from './providers/hover'
44

55
/** Registries is a container for all provider registries. */
66
export class Registries {
77
public readonly commands = new CommandRegistry()
88
public readonly textDocumentHover = new TextDocumentHoverProviderRegistry()
9-
public readonly textDocumentDecorations = new TextDocumentDecorationsProviderRegistry()
9+
public readonly textDocumentDecoration = new TextDocumentDecorationProviderRegistry()
1010
}

src/protocol/capabilities.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ExecuteCommandOptions } from './command'
44
import { CompletionOptions } from './completion'
55
import { ConfigurationClientCapabilities } from './configuration'
66
import { ContributionsClientCapabilities, ContributionsServerCapabilities } from './contribution'
7-
import { DecorationsClientCapabilities, DecorationsServerCapabilities } from './decoration'
7+
import { DecorationClientCapabilities, DecorationServerCapabilities } from './decoration'
88
import { DocumentLinkOptions } from './documentLink'
99
import { ImplementationClientCapabilities, ImplementationServerCapabilities } from './implementation'
1010
import { SignatureHelpOptions } from './signatureHelp'
@@ -41,7 +41,7 @@ export type ClientCapabilities = _ClientCapabilities &
4141
ConfigurationClientCapabilities &
4242
ColorClientCapabilities &
4343
ContributionsClientCapabilities &
44-
DecorationsClientCapabilities
44+
DecorationClientCapabilities
4545

4646
/**
4747
* Defines the capabilities provided by a language
@@ -139,4 +139,4 @@ export type ServerCapabilities = _ServerCapabilities &
139139
WorkspaceFoldersServerCapabilities &
140140
ColorServerCapabilities &
141141
ContributionsServerCapabilities &
142-
DecorationsServerCapabilities
142+
DecorationServerCapabilities

0 commit comments

Comments
 (0)