Skip to content

Commit d5e1a76

Browse files
committed
chore: use type import instead of $
1 parent c49154c commit d5e1a76

File tree

4 files changed

+38
-33
lines changed

4 files changed

+38
-33
lines changed

src/CodeFormatManager.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
import type { Point, TextEditor, TextChange, Disposable } from "atom"
2+
// TODO add to @types/atom
3+
type AggregatedTextChange = {
4+
changes: Array<TextChange>
5+
}
16
import type { TextEdit } from "@atom-ide-community/nuclide-commons-atom/text-edit"
27
import type { BusySignalService } from "atom-ide-base"
38
import type {
@@ -20,19 +25,20 @@ import nuclideUri from "@atom-ide-community/nuclide-commons/nuclideUri"
2025
import { completingSwitchMap, microtask } from "@atom-ide-community/nuclide-commons/observable"
2126
import UniversalDisposable from "@atom-ide-community/nuclide-commons/UniversalDisposable"
2227
import { Observable } from "rxjs-compat/bundles/rxjs-compat.umd.min.js"
28+
import type { Subscription } from "rxjs"
2329

2430
// Save events are critical, so don't allow providers to block them.
2531
export const SAVE_TIMEOUT = 2500
2632

2733
type FormatEvent =
2834
| {
2935
type: "command" | "save" | "new-save"
30-
editor: atom$TextEditor
36+
editor: TextEditor
3137
}
3238
| {
3339
type: "type"
34-
editor: atom$TextEditor
35-
edit: atom$AggregatedTextEditEvent
40+
editor: TextEditor
41+
edit: AggregatedTextChange
3642
}
3743

3844
export default class CodeFormatManager {
@@ -58,7 +64,7 @@ export default class CodeFormatManager {
5864
* Subscribe to all formatting events (commands, saves, edits) and dispatch formatters as necessary. By handling all
5965
* events in a central location, we ensure that no buffer runs into race conditions with simultaneous formatters.
6066
*/
61-
_subscribeToEvents(): rxjs$Subscription {
67+
_subscribeToEvents(): Subscription {
6268
// Events from the explicit Atom command.
6369
const commandEvents = observableFromSubscribeFunction((callback) =>
6470
atom.commands.add("atom-text-editor", "code-format:format-code", callback)
@@ -92,7 +98,7 @@ export default class CodeFormatManager {
9298
}
9399

94100
/** Returns a stream of all typing and saving operations from the editor. */
95-
_getEditorEventStream(editor: atom$TextEditor): Observable<FormatEvent> {
101+
_getEditorEventStream(editor: TextEditor): Observable<FormatEvent> {
96102
const changeEvents = observableFromSubscribeFunction((callback) => editor.getBuffer().onDidChangeText(callback))
97103

98104
// We need to capture when editors are about to be destroyed in order to
@@ -145,12 +151,12 @@ export default class CodeFormatManager {
145151
}
146152

147153
// Return the text edits used to format code in the editor specified.
148-
_formatCodeInTextEditor(editor: atom$TextEditor, range?: atom$Range): Observable<Array<TextEdit>> {
154+
_formatCodeInTextEditor(editor: TextEditor, range?: Range): Observable<Array<TextEdit>> {
149155
return Observable.defer(() => {
150156
const buffer = editor.getBuffer()
151157
const selectionRange = range || editor.getSelectedBufferRange()
152158
const { start: selectionStart, end: selectionEnd } = selectionRange
153-
let formatRange: atom$Range
159+
let formatRange: Range
154160
if (selectionRange.isEmpty()) {
155161
// If no selection is done, then, the whole file is wanted to be formatted.
156162
formatRange = buffer.getRange()
@@ -208,8 +214,8 @@ export default class CodeFormatManager {
208214
}
209215

210216
_formatCodeOnTypeInTextEditor(
211-
editor: atom$TextEditor,
212-
aggregatedEvent: atom$AggregatedTextEditEvent
217+
editor: TextEditor,
218+
aggregatedEvent: AggregatedTextChange
213219
): Observable<Array<TextEdit>> {
214220
return Observable.defer(() => {
215221
// Don't try to format changes with multiple cursors.
@@ -289,7 +295,7 @@ export default class CodeFormatManager {
289295
}
290296
}
291297

292-
_formatCodeOnSaveInTextEditor(editor: atom$TextEditor): Observable<TextEdit> {
298+
_formatCodeOnSaveInTextEditor(editor: TextEditor): Observable<TextEdit> {
293299
const saveProviders = [...this._onSaveProviders.getAllProvidersForEditor(editor)]
294300
if (saveProviders.length > 0) {
295301
return Observable.defer(() =>
@@ -312,7 +318,7 @@ export default class CodeFormatManager {
312318
return Observable.empty()
313319
}
314320

315-
_reportBusy<T>(editor: atom$TextEditor, promise: Promise<T>, revealTooltip: boolean = true): Promise<T> {
321+
_reportBusy<T>(editor: TextEditor, promise: Promise<T>, revealTooltip: boolean = true): Promise<T> {
316322
const busySignalService = this._busySignalService
317323
if (busySignalService != null) {
318324
const path = editor.getPath()
@@ -322,23 +328,23 @@ export default class CodeFormatManager {
322328
return promise
323329
}
324330

325-
addRangeProvider(provider: RangeCodeFormatProvider): IDisposable {
331+
addRangeProvider(provider: RangeCodeFormatProvider): Disposable {
326332
return this._rangeProviders.addProvider(provider)
327333
}
328334

329-
addFileProvider(provider: FileCodeFormatProvider): IDisposable {
335+
addFileProvider(provider: FileCodeFormatProvider): Disposable {
330336
return this._fileProviders.addProvider(provider)
331337
}
332338

333-
addOnTypeProvider(provider: OnTypeCodeFormatProvider): IDisposable {
339+
addOnTypeProvider(provider: OnTypeCodeFormatProvider): Disposable {
334340
return this._onTypeProviders.addProvider(provider)
335341
}
336342

337-
addOnSaveProvider(provider: OnSaveCodeFormatProvider): IDisposable {
343+
addOnSaveProvider(provider: OnSaveCodeFormatProvider): Disposable {
338344
return this._onSaveProviders.addProvider(provider)
339345
}
340346

341-
consumeBusySignal(busySignalService: BusySignalService): IDisposable {
347+
consumeBusySignal(busySignalService: BusySignalService): Disposable {
342348
this._busySignalService = busySignalService
343349
return new UniversalDisposable(() => {
344350
this._busySignalService = null
@@ -350,7 +356,7 @@ export default class CodeFormatManager {
350356
}
351357
}
352358

353-
function shouldFormatOnType(event: atom$TextEditEvent): boolean {
359+
function shouldFormatOnType(event: TextChange): boolean {
354360
// There's not a direct way to figure out what caused this edit event. There
355361
// are three cases that we want to pay attention to:
356362
//

src/config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
import type { TextEditor } from "atom"
12
import featureConfig from "@atom-ide-community/nuclide-commons-atom/feature-config"
23

3-
export function getFormatOnSave(editor: atom$TextEditor): boolean {
4+
export function getFormatOnSave(editor: TextEditor): boolean {
45
const formatOnSave = featureConfig.get("atom-ide-code-format.formatOnSave", {
56
scope: editor.getRootScopeDescriptor(),
67
}) as any

src/main.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { Disposable } from "atom"
12
import type { BusySignalService } from "atom-ide-base"
23
import type {
34
CodeFormatProvider,
@@ -17,7 +18,7 @@ export function activate() {
1718
codeFormatManager = new CodeFormatManager()
1819
}
1920

20-
export function consumeLegacyProvider(provider: CodeFormatProvider): IDisposable {
21+
export function consumeLegacyProvider(provider: CodeFormatProvider): Disposable {
2122
// Legacy providers used `selector` / `inclusionPriority`.
2223
// $FlowIgnore legacy API compatability.
2324
provider.grammarScopes =
@@ -43,23 +44,23 @@ export function consumeLegacyProvider(provider: CodeFormatProvider): IDisposable
4344
throw new Error("Invalid code format provider")
4445
}
4546

46-
export function consumeRangeProvider(provider: RangeCodeFormatProvider): IDisposable {
47+
export function consumeRangeProvider(provider: RangeCodeFormatProvider): Disposable {
4748
return codeFormatManager.addRangeProvider(provider)
4849
}
4950

50-
export function consumeFileProvider(provider: FileCodeFormatProvider): IDisposable {
51+
export function consumeFileProvider(provider: FileCodeFormatProvider): Disposable {
5152
return codeFormatManager.addFileProvider(provider)
5253
}
5354

54-
export function consumeOnTypeProvider(provider: OnTypeCodeFormatProvider): IDisposable {
55+
export function consumeOnTypeProvider(provider: OnTypeCodeFormatProvider): Disposable {
5556
return codeFormatManager.addOnTypeProvider(provider)
5657
}
5758

58-
export function consumeOnSaveProvider(provider: OnSaveCodeFormatProvider): IDisposable {
59+
export function consumeOnSaveProvider(provider: OnSaveCodeFormatProvider): Disposable {
5960
return codeFormatManager.addOnSaveProvider(provider)
6061
}
6162

62-
export function consumeBusySignal(busySignalService: BusySignalService): IDisposable {
63+
export function consumeBusySignal(busySignalService: BusySignalService): Disposable {
6364
return codeFormatManager.consumeBusySignal(busySignalService)
6465
}
6566

src/types.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import type { TextEditor, Range, Point } from "atom"
12
import type { TextEdit } from "@atom-ide-community/nuclide-commons-atom/text-edit"
23

34
/**
@@ -21,7 +22,7 @@ import type { TextEdit } from "@atom-ide-community/nuclide-commons-atom/text-edi
2122
* preferably in reverse-sorted order.
2223
*/
2324
export type RangeCodeFormatProvider = {
24-
formatCode: (editor: atom$TextEditor, range: atom$Range) => Promise<Array<TextEdit>>
25+
formatCode: (editor: TextEditor, range: Range) => Promise<Array<TextEdit>>
2526
priority: number
2627
readonly grammarScopes?: Array<string>
2728
}
@@ -32,8 +33,8 @@ export type RangeCodeFormatProvider = {
3233
*/
3334
export type FileCodeFormatProvider = {
3435
formatEntireFile: (
35-
editor: atom$TextEditor,
36-
range: atom$Range
36+
editor: TextEditor,
37+
range: Range
3738
) => Promise<
3839
| {
3940
newCursor?: number
@@ -53,19 +54,15 @@ export type FileCodeFormatProvider = {
5354
* This will automatically triggered after every typing event.
5455
*/
5556
export type OnTypeCodeFormatProvider = {
56-
formatAtPosition: (
57-
editor: atom$TextEditor,
58-
position: atom$Point,
59-
triggerCharacter: string
60-
) => Promise<Array<TextEdit>>
57+
formatAtPosition: (editor: TextEditor, position: Point, triggerCharacter: string) => Promise<Array<TextEdit>>
6158
priority: number
6259
readonly grammarScopes?: Array<string>
6360
keepCursorPosition: boolean
6461
}
6562

6663
/** Formats files after save events. */
6764
export type OnSaveCodeFormatProvider = {
68-
formatOnSave: (editor: atom$TextEditor) => Promise<Array<TextEdit>>
65+
formatOnSave: (editor: TextEditor) => Promise<Array<TextEdit>>
6966
priority: number
7067
readonly grammarScopes?: Array<string>
7168
}

0 commit comments

Comments
 (0)