Skip to content

Commit 75ac37f

Browse files
committed
Auto merge of #15259 - tetsuharuohzeki:sort-the-style-to-import, r=Veykril
editor/code: Sort the style to import types This pull requests enables new lint rule to sorts the style to import types/symbols. ## see details of enabled rules - https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/consistent-type-imports.md - https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/docs/rules/no-import-type-side-effects.md
2 parents a5f0c6b + 445b4fc commit 75ac37f

18 files changed

+52
-37
lines changed

editors/code/.eslintrc.js

+9
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,14 @@ module.exports = {
3333
"@typescript-eslint/semi": ["error", "always"],
3434
"@typescript-eslint/no-unnecessary-type-assertion": "error",
3535
"@typescript-eslint/no-floating-promises": "error",
36+
37+
"@typescript-eslint/consistent-type-imports": [
38+
"error",
39+
{
40+
prefer: "type-imports",
41+
fixStyle: "inline-type-imports",
42+
},
43+
],
44+
"@typescript-eslint/no-import-type-side-effects": "error",
3645
},
3746
};

editors/code/src/ast_inspector.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as vscode from "vscode";
22

3-
import { Ctx, Disposable } from "./ctx";
4-
import { RustEditor, isRustEditor } from "./util";
3+
import type { Ctx, Disposable } from "./ctx";
4+
import { type RustEditor, isRustEditor } from "./util";
55
import { unwrapUndefinable } from "./undefinable";
66

77
// FIXME: consider implementing this via the Tree View API?

editors/code/src/bootstrap.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import * as vscode from "vscode";
22
import * as os from "os";
3-
import { Config } from "./config";
3+
import type { Config } from "./config";
44
import { log, isValidExecutable } from "./util";
5-
import { PersistentState } from "./persistent_state";
5+
import type { PersistentState } from "./persistent_state";
66
import { exec } from "child_process";
77

88
export async function bootstrap(

editors/code/src/client.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import * as Is from "vscode-languageclient/lib/common/utils/is";
66
import { assert } from "./util";
77
import * as diagnostics from "./diagnostics";
88
import { WorkspaceEdit } from "vscode";
9-
import { Config, prepareVSCodeConfig } from "./config";
9+
import { type Config, prepareVSCodeConfig } from "./config";
1010
import { randomUUID } from "crypto";
1111
import { sep as pathSeparator } from "path";
1212
import { unwrapUndefinable } from "./undefinable";

editors/code/src/commands.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@ import * as lc from "vscode-languageclient";
33
import * as ra from "./lsp_ext";
44
import * as path from "path";
55

6-
import { Ctx, Cmd, CtxInit, discoverWorkspace } from "./ctx";
6+
import { type Ctx, type Cmd, type CtxInit, discoverWorkspace } from "./ctx";
77
import { applySnippetWorkspaceEdit, applySnippetTextEdits } from "./snippets";
88
import { spawnSync } from "child_process";
9-
import { RunnableQuickPick, selectRunnable, createTask, createArgs } from "./run";
9+
import { type RunnableQuickPick, selectRunnable, createTask, createArgs } from "./run";
1010
import { AstInspector } from "./ast_inspector";
1111
import {
1212
isRustDocument,
1313
isCargoTomlDocument,
1414
sleep,
1515
isRustEditor,
16-
RustEditor,
17-
RustDocument,
16+
type RustEditor,
17+
type RustDocument,
1818
} from "./util";
1919
import { startDebugSession, makeDebugConfig } from "./debug";
20-
import { LanguageClient } from "vscode-languageclient/node";
20+
import type { LanguageClient } from "vscode-languageclient/node";
2121
import { LINKED_COMMANDS } from "./client";
22-
import { DependencyId } from "./dependencies_provider";
22+
import type { DependencyId } from "./dependencies_provider";
2323
import { unwrapUndefinable } from "./undefinable";
2424

2525
export * from "./ast_inspector";

editors/code/src/config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as Is from "vscode-languageclient/lib/common/utils/is";
22
import * as os from "os";
33
import * as path from "path";
44
import * as vscode from "vscode";
5-
import { Env } from "./client";
5+
import type { Env } from "./client";
66
import { log } from "./util";
77
import { expectNotUndefined, unwrapUndefinable } from "./undefinable";
88

editors/code/src/ctx.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as vscode from "vscode";
2-
import * as lc from "vscode-languageclient/node";
2+
import type * as lc from "vscode-languageclient/node";
33
import * as ra from "./lsp_ext";
44
import * as path from "path";
55

@@ -12,19 +12,19 @@ import {
1212
isRustEditor,
1313
LazyOutputChannel,
1414
log,
15-
RustEditor,
15+
type RustEditor,
1616
} from "./util";
17-
import { ServerStatusParams } from "./lsp_ext";
17+
import type { ServerStatusParams } from "./lsp_ext";
1818
import {
19-
Dependency,
20-
DependencyFile,
19+
type Dependency,
20+
type DependencyFile,
2121
RustDependenciesProvider,
22-
DependencyId,
22+
type DependencyId,
2323
} from "./dependencies_provider";
2424
import { execRevealDependency } from "./commands";
2525
import { PersistentState } from "./persistent_state";
2626
import { bootstrap } from "./bootstrap";
27-
import { ExecOptions } from "child_process";
27+
import type { ExecOptions } from "child_process";
2828

2929
// We only support local folders, not eg. Live Share (`vlsl:` scheme), so don't activate if
3030
// only those are in use. We use "Empty" to represent these scenarios

editors/code/src/debug.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import * as os from "os";
22
import * as vscode from "vscode";
33
import * as path from "path";
4-
import * as ra from "./lsp_ext";
4+
import type * as ra from "./lsp_ext";
55

66
import { Cargo, getRustcId, getSysroot } from "./toolchain";
7-
import { Ctx } from "./ctx";
7+
import type { Ctx } from "./ctx";
88
import { prepareEnv } from "./run";
99
import { unwrapUndefinable } from "./undefinable";
1010

editors/code/src/dependencies_provider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import * as vscode from "vscode";
22
import * as fspath from "path";
33
import * as fs from "fs";
4-
import { CtxInit } from "./ctx";
4+
import type { CtxInit } from "./ctx";
55
import * as ra from "./lsp_ext";
6-
import { FetchDependencyListResult } from "./lsp_ext";
6+
import type { FetchDependencyListResult } from "./lsp_ext";
77
import { unwrapUndefinable } from "./undefinable";
88

99
export class RustDependenciesProvider

editors/code/src/diagnostics.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import * as anser from "anser";
22
import * as vscode from "vscode";
3-
import { ProviderResult, Range, TextEditorDecorationType, ThemeColor, window } from "vscode";
4-
import { Ctx } from "./ctx";
3+
import {
4+
type ProviderResult,
5+
Range,
6+
type TextEditorDecorationType,
7+
ThemeColor,
8+
window,
9+
} from "vscode";
10+
import type { Ctx } from "./ctx";
511
import { unwrapUndefinable } from "./undefinable";
612

713
export const URI_SCHEME = "rust-analyzer-diagnostics-view";

editors/code/src/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as vscode from "vscode";
22
import * as lc from "vscode-languageclient/node";
33

44
import * as commands from "./commands";
5-
import { CommandFactory, Ctx, fetchWorkspace } from "./ctx";
5+
import { type CommandFactory, Ctx, fetchWorkspace } from "./ctx";
66
import * as diagnostics from "./diagnostics";
77
import { activateTaskProvider } from "./tasks";
88
import { setContextValue } from "./util";

editors/code/src/persistent_state.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as vscode from "vscode";
1+
import type * as vscode from "vscode";
22
import { log } from "./util";
33

44
export class PersistentState {

editors/code/src/run.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import * as vscode from "vscode";
2-
import * as lc from "vscode-languageclient";
2+
import type * as lc from "vscode-languageclient";
33
import * as ra from "./lsp_ext";
44
import * as tasks from "./tasks";
55

6-
import { CtxInit } from "./ctx";
6+
import type { CtxInit } from "./ctx";
77
import { makeDebugConfig } from "./debug";
8-
import { Config, RunnableEnvCfg } from "./config";
8+
import type { Config, RunnableEnvCfg } from "./config";
99
import { unwrapUndefinable } from "./undefinable";
1010

1111
const quickPickButtons = [

editors/code/src/tasks.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as vscode from "vscode";
22
import * as toolchain from "./toolchain";
3-
import { Config } from "./config";
3+
import type { Config } from "./config";
44
import { log } from "./util";
55
import { unwrapUndefinable } from "./undefinable";
66

editors/code/src/util.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as vscode from "vscode";
22
import { strict as nativeAssert } from "assert";
3-
import { exec, ExecOptions, spawnSync } from "child_process";
3+
import { exec, type ExecOptions, spawnSync } from "child_process";
44
import { inspect } from "util";
55

66
export function assert(condition: boolean, explanation: string): asserts condition {

editors/code/tests/unit/launch_config.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as assert from "assert";
22
import { Cargo } from "../../src/toolchain";
3-
import { Context } from ".";
3+
import type { Context } from ".";
44

55
export async function getTests(ctx: Context) {
66
await ctx.suite("Launch configuration/Lens", (suite) => {

editors/code/tests/unit/runnable_env.test.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import * as assert from "assert";
22
import { prepareEnv } from "../../src/run";
3-
import { RunnableEnvCfg } from "../../src/config";
4-
import { Context } from ".";
5-
import * as ra from "../../src/lsp_ext";
3+
import type { RunnableEnvCfg } from "../../src/config";
4+
import type { Context } from ".";
5+
import type * as ra from "../../src/lsp_ext";
66

77
function makeRunnable(label: string): ra.Runnable {
88
return {

editors/code/tests/unit/settings.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as assert from "assert";
2-
import { Context } from ".";
2+
import type { Context } from ".";
33
import { substituteVariablesInEnv } from "../../src/config";
44

55
export async function getTests(ctx: Context) {

0 commit comments

Comments
 (0)