Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
johnsoncodehk committed Feb 29, 2024
1 parent 7dcdacb commit ac43c2a
Show file tree
Hide file tree
Showing 11 changed files with 22 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import type * as ts from 'typescript';
import type * as vscode from 'vscode-languageserver-protocol';
import type { TextDocument } from 'vscode-languageserver-textdocument';
import { getAst } from './typescript';
import { sendGetPropertiesAtLocation } from 'typescript-vue-plugin/out/requests/client';
import { getPropertiesAtLocation } from 'typescript-vue-plugin/out/namedPipe/client';

export function create(ts: typeof import('typescript')): ServicePlugin {
return {
Expand Down Expand Up @@ -46,7 +46,7 @@ export function create(ts: typeof import('typescript')): ServicePlugin {
if (isBlacklistNode(ts, ast, document.offsetAt(position), false))
return;

const props = await sendGetPropertiesAtLocation(fileName, document.offsetAt(position)) ?? [];
const props = await getPropertiesAtLocation(fileName, document.offsetAt(position)) ?? [];
if (props.some(prop => prop === 'value')) {
return '${1:.value}';
}
Expand Down
4 changes: 2 additions & 2 deletions packages/language-service/src/plugins/vue-extract-file.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { CreateFile, ServicePlugin, TextDocumentEdit, TextEdit } from '@volar/la
import { ExpressionNode, type TemplateChildNode } from '@vue/compiler-dom';
import { Sfc, VueGeneratedCode, scriptRanges } from '@vue/language-core';
import type * as ts from 'typescript';
import { sendCollectExtractPropsRequest } from 'typescript-vue-plugin/out/requests/client';
import { collectExtractPropsRequest } from 'typescript-vue-plugin/out/namedPipe/client';
import type * as vscode from 'vscode-languageserver-protocol';

interface ActionData {
Expand Down Expand Up @@ -73,7 +73,7 @@ export function create(ts: typeof import('typescript')): ServicePlugin {
if (!templateCodeRange)
return codeAction;

const toExtract = await sendCollectExtractPropsRequest(sourceFile.generated.code.fileName, templateCodeRange) ?? [];
const toExtract = await collectExtractPropsRequest(sourceFile.generated.code.fileName, templateCodeRange) ?? [];
if (!toExtract)
return codeAction;

Expand Down
4 changes: 2 additions & 2 deletions packages/language-service/src/plugins/vue-twoslash-queries.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ServicePlugin, ServicePluginInstance } from '@volar/language-service';
import * as vue from '@vue/language-core';
import type * as vscode from 'vscode-languageserver-protocol';
import { sendGetQuickInfoAtPosition } from 'typescript-vue-plugin/out/requests/client';
import { getQuickInfoAtPosition } from 'typescript-vue-plugin/out/namedPipe/client';

const twoslashReg = /<!--\s*\^\?\s*-->/g;

Expand Down Expand Up @@ -31,7 +31,7 @@ export function create(ts: typeof import('typescript')): ServicePlugin {
for (const [pointerPosition, hoverOffset] of hoverOffsets) {
for (const [_1, [_2, map]] of context.language.files.getMaps(virtualCode)) {
for (const [sourceOffset] of map.getSourceOffsets(hoverOffset)) {
const quickInfo = await sendGetQuickInfoAtPosition(sourceFile.generated.code.fileName, sourceOffset);
const quickInfo = await getQuickInfoAtPosition(sourceFile.generated.code.fileName, sourceOffset);
if (quickInfo) {
inlayHints.push({
position: { line: pointerPosition.line, character: pointerPosition.character + 2 },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type * as ts from 'typescript';
import { decorateLanguageService } from '@volar/typescript/lib/node/decorateLanguageService';
import { decorateLanguageServiceHost, searchExternalFiles } from '@volar/typescript/lib/node/decorateLanguageServiceHost';
import { createFileRegistry, LanguagePlugin, resolveCommonLanguageId } from '@vue/language-core';
import { projects } from './requests/utils';
import { projects } from './namedPipe/utils';

const externalFiles = new WeakMap<ts.server.Project, string[]>();
const projectExternalFileExtensions = new WeakMap<ts.server.Project, string[]>();
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript-plugin/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createLanguageServicePlugin } from './createLanguageServicePlugin';
import * as vue from '@vue/language-core';
import { startNamedPipeServer } from './requests/server';
import { startNamedPipeServer } from './namedPipe/server';

const windowsPathReg = /\\/g;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,25 @@
import * as net from 'net';
import type { collectExtractProps } from './collectExtractProps';
import type { getPropertiesAtLocation } from './getPropertiesAtLocation';
import { Request } from './server';
import type { Request } from './server';
import { pipeFile } from './utils';
import { getQuickInfoAtPosition } from './getQuickInfoAtPosition';

export function sendCollectExtractPropsRequest(fileName: string, templateCodeRange: [number, number]) {
return sendRequest<ReturnType<typeof collectExtractProps>>({
export function collectExtractPropsRequest(fileName: string, templateCodeRange: [number, number]) {
return sendRequest<ReturnType<typeof import('./requests/collectExtractProps')['collectExtractProps']>>({
type: 'collectExtractProps',
fileName,
templateCodeRange,
});
}

export function sendGetPropertiesAtLocation(fileName: string, position: number) {
return sendRequest<ReturnType<typeof getPropertiesAtLocation>>({
export function getPropertiesAtLocation(fileName: string, position: number) {
return sendRequest<ReturnType<typeof import('./requests/getPropertiesAtLocation')['getPropertiesAtLocation']>>({
type: 'getPropertiesAtLocation',
fileName,
position,
});
}

export function sendGetQuickInfoAtPosition(fileName: string, position: number) {
return sendRequest<ReturnType<typeof getQuickInfoAtPosition>>({
export function getQuickInfoAtPosition(fileName: string, position: number) {
return sendRequest<ReturnType<typeof import('./requests/getQuickInfoAtPosition')['getQuickInfoAtPosition']>>({
type: 'getQuickInfoAtPosition',
fileName,
position,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { VueGeneratedCode, isSemanticTokensEnabled } from '@vue/language-core';
import { getProject } from './utils';
import { getProject } from '../utils';

export function collectExtractProps(fileName: string, templateCodeRange: [number, number], isTsPlugin: boolean = true) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getProject } from './utils';
import { getProject } from '../utils';
import type * as ts from 'typescript';

export function getPropertiesAtLocation(fileName: string, position: number, isTsPlugin: boolean = true) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { getProject } from './utils';
import { getProject } from '../utils';

export function getQuickInfoAtPosition(fileName: string, position: number) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import * as net from 'net';
import * as fs from 'fs';
import { collectExtractProps } from './collectExtractProps';
import * as net from 'net';
import { collectExtractProps } from './requests/collectExtractProps';
import { getPropertiesAtLocation } from './requests/getPropertiesAtLocation';
import { getQuickInfoAtPosition } from './requests/getQuickInfoAtPosition';
import { pipeFile } from './utils';
import { getPropertiesAtLocation } from './getPropertiesAtLocation';
import { getQuickInfoAtPosition } from './getQuickInfoAtPosition';

export interface CollectExtractPropsRequest {
type: 'collectExtractProps';
Expand Down

0 comments on commit ac43c2a

Please sign in to comment.