Skip to content

Commit

Permalink
refactor: rename completion-staging-item related methods and members …
Browse files Browse the repository at this point in the history
…name
  • Loading branch information
molinla committed Sep 28, 2024
1 parent d715eaa commit 021d42c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 23 deletions.
8 changes: 4 additions & 4 deletions spx-gui/src/components/editor/code-editor/EditorUI.ts
Original file line number Diff line number Diff line change
Expand Up @@ -395,8 +395,8 @@ export class EditorUI extends Disposable {
this.completionMenu.hideCompletionMenu()
return { suggestions: [] }
}
const cachedItems = this.completionMenu.completionStagingItem.get(completionItemCacheID)
if (cachedItems == null) {
const stagingItems = this.completionMenu.completionStagingItem.get(completionItemCacheID)
if (stagingItems == null) {
const completionItems: CompletionItem[] = []
this.completionMenu.completionStagingItem.set(completionItemCacheID, completionItems)
const abortController = this.completionMenu.refreshAbortController()
Expand All @@ -412,7 +412,7 @@ export class EditorUI extends Disposable {

if (this.completionMenu.completionMenuState.triggerMode.type !== 'playlist') {
const isSamePosition =
this.completionMenu.completionStagingItem.isSamePosition(completionItemCacheID)
this.completionMenu.completionStagingItem.isSameStagingID(completionItemCacheID)
if (!isSamePosition) return abortController.abort()
if (this.completionMenu.abortController !== abortController) return

Expand Down Expand Up @@ -449,7 +449,7 @@ export class EditorUI extends Disposable {
return { suggestions: [] }
} else {
const suggestions =
cachedItems.map(
stagingItems.map(
(item, i): languages.CompletionItem => ({
label: item.label,
kind: icon2CompletionItemKind(item.icon),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Disposable } from '@/utils/disposable'
import type { CompletionItem } from '@/components/editor/code-editor/EditorUI'

export interface CompletionItemCachePosition {
export interface CompletionStagingItemID {
id: string
lineNumber: number
column: number
}

export class CompletionStagingItem extends Disposable {
private cache: CompletionItem[] | null = null
private position: CompletionItemCachePosition = {
private stagingItems: CompletionItem[] | null = null
private stagingItemID: CompletionStagingItemID = {
id: '',
lineNumber: -1,
column: -1
Expand All @@ -21,45 +21,45 @@ export class CompletionStagingItem extends Disposable {
// will throw undefined error.
this.addDisposer(() => {
this.clear()
this.position = {
this.stagingItemID = {
id: '',
lineNumber: -1,
column: -1
}
})
}

public set(position: CompletionItemCachePosition, items: CompletionItem[]) {
this.position = { ...position }
this.cache = items
public set(stagingItemID: CompletionStagingItemID, items: CompletionItem[]) {
this.stagingItemID = { ...stagingItemID }
this.stagingItems = items
}

public updateCacheID(position: CompletionItemCachePosition) {
this.position = { ...position }
public updateCacheID(stagingItemID: CompletionStagingItemID) {
this.stagingItemID = { ...stagingItemID }
}

public clear() {
this.cache = []
this.stagingItems = []
}

public get(completionItemCacheID: CompletionItemCachePosition) {
if (this.isSamePosition(completionItemCacheID)) {
return this.cache
public get(stagingItemID: CompletionStagingItemID) {
if (this.isSameStagingID(stagingItemID)) {
return this.stagingItems
} else {
return null
}
}

public getCompletionCacheItemByIdx(idx: number): CompletionItem | undefined {
if (this.cache == null) return
return this.cache[idx]
if (this.stagingItems == null) return
return this.stagingItems[idx]
}

public isSamePosition(position: CompletionItemCachePosition) {
public isSameStagingID(stagingItemID: CompletionStagingItemID) {
return (
this.position.id === position.id &&
this.position.lineNumber === position.lineNumber &&
this.position.column === position.column
this.stagingItemID.id === stagingItemID.id &&
this.stagingItemID.lineNumber === stagingItemID.lineNumber &&
this.stagingItemID.column === stagingItemID.column
)
}
}

0 comments on commit 021d42c

Please sign in to comment.