diff --git a/configs/errors.eslintrc.json b/configs/errors.eslintrc.json index 2488641..56279d1 100644 --- a/configs/errors.eslintrc.json +++ b/configs/errors.eslintrc.json @@ -130,7 +130,22 @@ } } ], - "import/no-extraneous-dependencies": "error" + "import/no-extraneous-dependencies": "error", + "import/order": [ + "error", + { + "alphabetize": { + "order": "asc" + } + } + ], + "sort-imports": [ + "error", + { + "ignoreDeclarationSort": true, + "ignoreCase": true + } + ] }, "overrides": [ { diff --git a/src/entry-points/browser/extension.ts b/src/entry-points/browser/extension.ts index 64c62e7..e4e337b 100644 --- a/src/entry-points/browser/extension.ts +++ b/src/entry-points/browser/extension.ts @@ -16,9 +16,9 @@ import * as vscode from 'vscode'; import { AdapterRegistry } from '../../plugin/adapter-registry/adapter-registry'; +import { CAdapter } from '../../plugin/adapter-registry/c-adapter'; import { MemoryProvider } from '../../plugin/memory-provider'; import { MemoryWebview } from '../../plugin/memory-webview-main'; -import { CAdapter } from '../../plugin/adapter-registry/c-adapter'; export const activate = async (context: vscode.ExtensionContext): Promise => { const registry = new AdapterRegistry(); diff --git a/src/entry-points/desktop/extension.ts b/src/entry-points/desktop/extension.ts index d4cb368..065adb5 100644 --- a/src/entry-points/desktop/extension.ts +++ b/src/entry-points/desktop/extension.ts @@ -16,9 +16,9 @@ import * as vscode from 'vscode'; import { AdapterRegistry } from '../../plugin/adapter-registry/adapter-registry'; +import { CAdapter } from '../../plugin/adapter-registry/c-adapter'; import { MemoryProvider } from '../../plugin/memory-provider'; import { MemoryWebview } from '../../plugin/memory-webview-main'; -import { CAdapter } from '../../plugin/adapter-registry/c-adapter'; export const activate = async (context: vscode.ExtensionContext): Promise => { const registry = new AdapterRegistry(); diff --git a/src/plugin/adapter-registry/adapter-capabilities.ts b/src/plugin/adapter-registry/adapter-capabilities.ts index b07beac..d60d68b 100644 --- a/src/plugin/adapter-registry/adapter-capabilities.ts +++ b/src/plugin/adapter-registry/adapter-capabilities.ts @@ -14,8 +14,8 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ -import * as vscode from 'vscode'; import { DebugProtocol } from '@vscode/debugprotocol'; +import * as vscode from 'vscode'; import { VariableRange } from '../../common/memory-range'; import { Logger } from '../logger'; diff --git a/src/plugin/adapter-registry/adapter-registry.ts b/src/plugin/adapter-registry/adapter-registry.ts index 03bcb34..5440a28 100644 --- a/src/plugin/adapter-registry/adapter-registry.ts +++ b/src/plugin/adapter-registry/adapter-registry.ts @@ -15,8 +15,8 @@ ********************************************************************************/ import * as vscode from 'vscode'; -import { AdapterCapabilities } from './adapter-capabilities'; import { outputChannelLogger as logger } from '../logger'; +import { AdapterCapabilities } from './adapter-capabilities'; export class AdapterRegistry implements vscode.Disposable { protected handlers = new Map(); diff --git a/src/plugin/adapter-registry/c-adapter.ts b/src/plugin/adapter-registry/c-adapter.ts index 8a98220..26b35fd 100644 --- a/src/plugin/adapter-registry/c-adapter.ts +++ b/src/plugin/adapter-registry/c-adapter.ts @@ -15,9 +15,9 @@ ********************************************************************************/ import * as vscode from 'vscode'; +import { outputChannelLogger } from '../logger'; import * as manifest from '../manifest'; import { VariableTracker } from './adapter-capabilities'; -import { outputChannelLogger } from '../logger'; import { AdapterRegistry } from './adapter-registry'; import { CTracker } from './c-tracker'; diff --git a/src/plugin/adapter-registry/c-tracker.ts b/src/plugin/adapter-registry/c-tracker.ts index ef211f0..1ec07c6 100644 --- a/src/plugin/adapter-registry/c-tracker.ts +++ b/src/plugin/adapter-registry/c-tracker.ts @@ -14,10 +14,10 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ -import * as vscode from 'vscode'; import { DebugProtocol } from '@vscode/debugprotocol'; -import { AdapterVariableTracker, hexAddress, notADigit } from './adapter-capabilities'; +import * as vscode from 'vscode'; import { toHexStringWithRadixMarker, VariableRange } from '../../common/memory-range'; +import { AdapterVariableTracker, hexAddress, notADigit } from './adapter-capabilities'; export class CTracker extends AdapterVariableTracker { /** diff --git a/src/plugin/memory-provider.ts b/src/plugin/memory-provider.ts index f6ba15f..c80c032 100644 --- a/src/plugin/memory-provider.ts +++ b/src/plugin/memory-provider.ts @@ -14,12 +14,12 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ -import * as vscode from 'vscode'; -import * as manifest from './manifest'; import { DebugProtocol } from '@vscode/debugprotocol'; +import * as vscode from 'vscode'; +import { VariableRange } from '../common/memory-range'; import { MemoryReadResult, MemoryWriteResult } from '../common/messaging'; import { AdapterRegistry } from './adapter-registry/adapter-registry'; -import { VariableRange } from '../common/memory-range'; +import * as manifest from './manifest'; export interface LabeledUint8Array extends Uint8Array { label?: string; diff --git a/src/plugin/memory-webview-main.ts b/src/plugin/memory-webview-main.ts index 84deda6..355d92b 100644 --- a/src/plugin/memory-webview-main.ts +++ b/src/plugin/memory-webview-main.ts @@ -14,28 +14,28 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ -import * as vscode from 'vscode'; import type { DebugProtocol } from '@vscode/debugprotocol'; -import * as manifest from './manifest'; +import * as vscode from 'vscode'; import { Messenger } from 'vscode-messenger'; import { WebviewIdMessageParticipant } from 'vscode-messenger-common'; +import { Endianness, VariableRange } from '../common/memory-range'; import { - readyType, + getVariables, logMessageType, - setOptionsType, - readMemoryType, - writeMemoryType, MemoryReadResult, MemoryWriteResult, - getVariables, - setMemoryViewSettingsType, + readMemoryType, + readyType, resetMemoryViewSettingsType, + setMemoryViewSettingsType, + setOptionsType, setTitleType, + writeMemoryType, } from '../common/messaging'; -import { MemoryProvider } from './memory-provider'; -import { outputChannelLogger } from './logger'; -import { Endianness, VariableRange } from '../common/memory-range'; import { AddressPaddingOptions, MemoryViewSettings, ScrollingBehavior } from '../webview/utils/view-types'; +import { outputChannelLogger } from './logger'; +import * as manifest from './manifest'; +import { MemoryProvider } from './memory-provider'; interface Variable { name: string; diff --git a/src/webview/columns/address-column.tsx b/src/webview/columns/address-column.tsx index ec84f0c..8bc749c 100644 --- a/src/webview/columns/address-column.tsx +++ b/src/webview/columns/address-column.tsx @@ -16,8 +16,8 @@ import React, { ReactNode } from 'react'; import { BigIntMemoryRange, getAddressString, getRadixMarker } from '../../common/memory-range'; -import { ColumnContribution, ColumnFittingType, TableRenderOptions } from './column-contribution-service'; import { Memory } from '../utils/view-types'; +import { ColumnContribution, ColumnFittingType, TableRenderOptions } from './column-contribution-service'; export class AddressColumn implements ColumnContribution { static ID = 'address'; diff --git a/src/webview/columns/ascii-column.ts b/src/webview/columns/ascii-column.ts index 866b510..e9d8505 100644 --- a/src/webview/columns/ascii-column.ts +++ b/src/webview/columns/ascii-column.ts @@ -16,8 +16,8 @@ import { ReactNode } from 'react'; import { BigIntMemoryRange, toOffset } from '../../common/memory-range'; -import { ColumnContribution, TableRenderOptions } from './column-contribution-service'; import { Memory } from '../utils/view-types'; +import { ColumnContribution, TableRenderOptions } from './column-contribution-service'; function isPrintableAsAscii(input: number): boolean { return input >= 32 && input < (128 - 1); diff --git a/src/webview/columns/data-column.tsx b/src/webview/columns/data-column.tsx index 8b41cd9..086c035 100644 --- a/src/webview/columns/data-column.tsx +++ b/src/webview/columns/data-column.tsx @@ -16,11 +16,11 @@ import * as React from 'react'; import { BigIntMemoryRange, Endianness, toOffset } from '../../common/memory-range'; +import type { MemorySizeOptions } from '../components/memory-table'; +import { decorationService } from '../decorations/decoration-service'; import { FullNodeAttributes, Memory } from '../utils/view-types'; +import { characterWidthInContainer, elementInnerWidth } from '../utils/window'; import { ColumnContribution, TableRenderOptions } from './column-contribution-service'; -import { decorationService } from '../decorations/decoration-service'; -import type { MemorySizeOptions } from '../components/memory-table'; -import { elementInnerWidth, characterWidthInContainer } from '../utils/window'; export class DataColumn implements ColumnContribution { static CLASS_NAME = 'column-data'; diff --git a/src/webview/components/memory-table.tsx b/src/webview/components/memory-table.tsx index 6340bc9..86136bf 100644 --- a/src/webview/components/memory-table.tsx +++ b/src/webview/components/memory-table.tsx @@ -15,17 +15,17 @@ ********************************************************************************/ import { DebugProtocol } from '@vscode/debugprotocol'; +import isDeepEqual from 'fast-deep-equal'; import memoize from 'memoize-one'; import { Column } from 'primereact/column'; import { DataTable, DataTableCellSelection, DataTableProps, DataTableSelectionCellChangeEvent } from 'primereact/datatable'; import { ProgressSpinner } from 'primereact/progressspinner'; -import React from 'react'; -import { TableRenderOptions } from '../columns/column-contribution-service'; -import { Decoration, Memory, MemoryDisplayConfiguration, ScrollingBehavior, isTrigger } from '../utils/view-types'; -import isDeepEqual from 'fast-deep-equal'; import { classNames } from 'primereact/utils'; +import React from 'react'; import { tryToNumber } from '../../common/typescript'; +import { TableRenderOptions } from '../columns/column-contribution-service'; import { DataColumn } from '../columns/data-column'; +import { Decoration, isTrigger, Memory, MemoryDisplayConfiguration, ScrollingBehavior } from '../utils/view-types'; export interface MoreMemorySelectProps { activeReadArguments: Required; diff --git a/src/webview/components/options-widget.tsx b/src/webview/components/options-widget.tsx index c7bac50..5f83e26 100644 --- a/src/webview/components/options-widget.tsx +++ b/src/webview/components/options-widget.tsx @@ -17,18 +17,18 @@ import type { DebugProtocol } from '@vscode/debugprotocol'; import { Formik, FormikConfig, FormikErrors, FormikProps } from 'formik'; import { Button } from 'primereact/button'; +import { Checkbox } from 'primereact/checkbox'; import { Dropdown, DropdownChangeEvent } from 'primereact/dropdown'; import { InputText } from 'primereact/inputtext'; import { OverlayPanel } from 'primereact/overlaypanel'; import { classNames } from 'primereact/utils'; import React, { FocusEventHandler, KeyboardEvent, KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react'; +import { Endianness } from '../../common/memory-range'; +import { tryToNumber } from '../../common/typescript'; +import { CONFIG_BYTES_PER_WORD_CHOICES, CONFIG_GROUPS_PER_ROW_CHOICES, CONFIG_WORDS_PER_GROUP_CHOICES } from '../../plugin/manifest'; import { TableRenderOptions } from '../columns/column-contribution-service'; import { AddressPaddingOptions, MemoryState, SerializedTableRenderOptions } from '../utils/view-types'; import { MultiSelectWithLabel } from './multi-select'; -import { CONFIG_BYTES_PER_WORD_CHOICES, CONFIG_GROUPS_PER_ROW_CHOICES, CONFIG_WORDS_PER_GROUP_CHOICES } from '../../plugin/manifest'; -import { tryToNumber } from '../../common/typescript'; -import { Checkbox } from 'primereact/checkbox'; -import { Endianness } from '../../common/memory-range'; export interface OptionsWidgetProps extends Omit { diff --git a/src/webview/memory-webview-view.tsx b/src/webview/memory-webview-view.tsx index 4f8eebf..e4ffb36 100644 --- a/src/webview/memory-webview-view.tsx +++ b/src/webview/memory-webview-view.tsx @@ -14,32 +14,32 @@ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ +import type { DebugProtocol } from '@vscode/debugprotocol'; +import { PrimeReactProvider } from 'primereact/api'; import React from 'react'; import { createRoot } from 'react-dom/client'; import { HOST_EXTENSION } from 'vscode-messenger-common'; +import { getAddressLength, getAddressString } from '../common/memory-range'; +import { Endianness } from '../common/memory-range'; import { - readyType, logMessageType, - setOptionsType, readMemoryType, - setTitleType, - setMemoryViewSettingsType, + readyType, resetMemoryViewSettingsType, + setMemoryViewSettingsType, + setOptionsType, + setTitleType, } from '../common/messaging'; -import type { DebugProtocol } from '@vscode/debugprotocol'; -import { Decoration, Memory, MemoryDisplayConfiguration, MemoryState } from './utils/view-types'; +import { AddressColumn } from './columns/address-column'; +import { AsciiColumn } from './columns/ascii-column'; +import { columnContributionService, ColumnStatus } from './columns/column-contribution-service'; +import { DataColumn } from './columns/data-column'; import { MemoryWidget } from './components/memory-widget'; -import { messenger } from './view-messenger'; -import { ColumnStatus, columnContributionService } from './columns/column-contribution-service'; import { decorationService } from './decorations/decoration-service'; +import { Decoration, Memory, MemoryDisplayConfiguration, MemoryState } from './utils/view-types'; import { variableDecorator } from './variables/variable-decorations'; -import { AsciiColumn } from './columns/ascii-column'; -import { AddressColumn } from './columns/address-column'; -import { DataColumn } from './columns/data-column'; -import { PrimeReactProvider } from 'primereact/api'; +import { messenger } from './view-messenger'; import 'primeflex/primeflex.css'; -import { getAddressLength, getAddressString } from '../common/memory-range'; -import { Endianness } from '../common/memory-range'; export interface MemoryAppState extends MemoryState, MemoryDisplayConfiguration { title: string; diff --git a/src/webview/variables/variable-decorations.ts b/src/webview/variables/variable-decorations.ts index 22f5c44..eb0cdd5 100644 --- a/src/webview/variables/variable-decorations.ts +++ b/src/webview/variables/variable-decorations.ts @@ -15,16 +15,16 @@ ********************************************************************************/ import type { DebugProtocol } from '@vscode/debugprotocol'; +import { ReactNode } from 'react'; +import * as React from 'react'; import { HOST_EXTENSION } from 'vscode-messenger-common'; +import { areVariablesEqual, BigIntMemoryRange, BigIntVariableRange, compareBigInt, doOverlap } from '../../common/memory-range'; import { getVariables } from '../../common/messaging'; -import { messenger } from '../view-messenger'; -import { Decoration, MemoryState } from '../utils/view-types'; -import { EventEmitter, IEvent } from '../utils/events'; import { ColumnContribution } from '../columns/column-contribution-service'; import { Decorator } from '../decorations/decoration-service'; -import { ReactNode } from 'react'; -import { areVariablesEqual, compareBigInt, BigIntMemoryRange, BigIntVariableRange, doOverlap } from '../../common/memory-range'; -import * as React from 'react'; +import { EventEmitter, IEvent } from '../utils/events'; +import { Decoration, MemoryState } from '../utils/view-types'; +import { messenger } from '../view-messenger'; const NON_HC_COLORS = [ 'var(--vscode-terminal-ansiBlue)',