Skip to content

Commit da80fc9

Browse files
committed
fix: Apply linting fixes for code formatting and unused variables
- Fix code formatting (indentation, trailing commas) - Prefix unused function parameters with underscore - Replace global isNaN with Number.isNaN - Wrap switch clause declarations in blocks
1 parent fba6796 commit da80fc9

File tree

15 files changed

+1376
-1410
lines changed

15 files changed

+1376
-1410
lines changed

src/commands/sort.ts

Lines changed: 45 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,53 +5,49 @@ import { showProgress } from '../utils/progress'
55
import { sortDates } from '../utils/sort'
66

77
export async function sortDatesCommand(): Promise<void> {
8-
const editor = vscode.window.activeTextEditor
9-
if (!editor) {
10-
vscode.window.showWarningMessage('No active editor found')
11-
return
12-
}
13-
14-
const document = editor.document
15-
const content = document.getText()
16-
const languageId = document.languageId
17-
18-
if (!content.trim()) {
19-
vscode.window.showWarningMessage('Document is empty')
20-
return
21-
}
22-
23-
const config = getConfiguration()
24-
25-
try {
26-
await showProgress('Sorting dates...', async () => {
27-
const result = await extractDates(content, languageId)
28-
29-
if (result.dates.length === 0) {
30-
vscode.window.showInformationMessage('No dates found to sort')
31-
return
32-
}
33-
34-
const sortedDates = sortDates([...result.dates], 'chronological')
35-
36-
// Create a new document with sorted dates
37-
const sortedContent = sortedDates
38-
.map((date) => `${date.value} - ${date.context || 'Extracted date'}`)
39-
.join('\n')
40-
41-
// Open a new document with sorted results
42-
const doc = await vscode.workspace.openTextDocument({
43-
content: sortedContent,
44-
language: 'plaintext',
45-
})
46-
47-
await vscode.window.showTextDocument(doc)
48-
49-
vscode.window.showInformationMessage(`Sorted ${sortedDates.length} dates chronologically`)
50-
})
51-
} catch (error) {
52-
console.error('[Dates-LE] Sort command error:', error)
53-
vscode.window.showErrorMessage(
54-
`Failed to sort dates: ${error instanceof Error ? error.message : 'Unknown error'}`,
55-
)
56-
}
8+
const editor = vscode.window.activeTextEditor
9+
if (!editor) {
10+
vscode.window.showWarningMessage('No active editor found')
11+
return
12+
}
13+
14+
const document = editor.document
15+
const content = document.getText()
16+
const languageId = document.languageId
17+
18+
if (!content.trim()) {
19+
vscode.window.showWarningMessage('Document is empty')
20+
return
21+
}
22+
23+
const _config = getConfiguration()
24+
25+
try {
26+
await showProgress('Sorting dates...', async () => {
27+
const result = await extractDates(content, languageId)
28+
29+
if (result.dates.length === 0) {
30+
vscode.window.showInformationMessage('No dates found to sort')
31+
return
32+
}
33+
34+
const sortedDates = sortDates([...result.dates], 'chronological')
35+
36+
// Create a new document with sorted dates
37+
const sortedContent = sortedDates.map((date) => `${date.value} - ${date.context || 'Extracted date'}`).join('\n')
38+
39+
// Open a new document with sorted results
40+
const doc = await vscode.workspace.openTextDocument({
41+
content: sortedContent,
42+
language: 'plaintext',
43+
})
44+
45+
await vscode.window.showTextDocument(doc)
46+
47+
vscode.window.showInformationMessage(`Sorted ${sortedDates.length} dates chronologically`)
48+
})
49+
} catch (error) {
50+
console.error('[Dates-LE] Sort command error:', error)
51+
vscode.window.showErrorMessage(`Failed to sort dates: ${error instanceof Error ? error.message : 'Unknown error'}`)
52+
}
5753
}

src/config/configuration.ts

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,39 @@ import * as vscode from 'vscode'
22
import type { Configuration, OutputFormat } from '../types'
33

44
export function getConfiguration(): Configuration {
5-
const config = vscode.workspace.getConfiguration('dates-le')
5+
const config = vscode.workspace.getConfiguration('dates-le')
66

7-
return Object.freeze({
8-
copyToClipboardEnabled: config.get<boolean>('copyToClipboardEnabled') ?? false,
9-
dedupeEnabled: config.get<boolean>('dedupeEnabled') ?? true,
10-
notificationsLevel:
11-
config.get<'all' | 'important' | 'silent'>('notificationsLevel') ?? 'important',
12-
postProcessOpenInNewFile: config.get<boolean>('postProcessOpenInNewFile') ?? false,
13-
openResultsSideBySide: config.get<boolean>('openResultsSideBySide') ?? true,
14-
safetyEnabled: config.get<boolean>('safetyEnabled') ?? true,
15-
safetyFileSizeWarnBytes: config.get<number>('safetyFileSizeWarnBytes') ?? 1048576,
16-
safetyLargeOutputLinesThreshold: config.get<number>('safetyLargeOutputLinesThreshold') ?? 1000,
17-
safetyManyDocumentsThreshold: config.get<number>('safetyManyDocumentsThreshold') ?? 10,
18-
showParseErrors: config.get<boolean>('showParseErrors') ?? true,
19-
statusBarEnabled: config.get<boolean>('statusBarEnabled') ?? true,
20-
telemetryEnabled: config.get<boolean>('telemetryEnabled') ?? false,
21-
analysisEnabled: config.get<boolean>('analysisEnabled') ?? false,
22-
analysisIncludePatterns: config.get<boolean>('analysisIncludePatterns') ?? false,
23-
analysisIncludeRanges: config.get<boolean>('analysisIncludeRanges') ?? false,
24-
analysisIncludeAnomalies: config.get<boolean>('analysisIncludeAnomalies') ?? false,
25-
outputFormat: config.get<OutputFormat>('outputFormat') ?? 'iso',
26-
timezone: config.get<string>('timezone') ?? 'UTC',
27-
performanceEnabled: config.get<boolean>('performanceEnabled') ?? false,
28-
performanceMaxDuration: config.get<number>('performanceMaxDuration') ?? 5000,
29-
performanceMaxMemoryUsage: config.get<number>('performanceMaxMemoryUsage') ?? 100,
30-
performanceMaxCpuUsage: config.get<number>('performanceMaxCpuUsage') ?? 80,
31-
performanceMinThroughput: config.get<number>('performanceMinThroughput') ?? 1000,
32-
performanceMaxCacheSize: config.get<number>('performanceMaxCacheSize') ?? 100,
33-
keyboardShortcutsEnabled: config.get<boolean>('keyboardShortcutsEnabled') ?? true,
34-
keyboardExtractShortcut: config.get<string>('keyboardExtractShortcut') ?? 'ctrl+shift+e',
35-
keyboardConvertShortcut: config.get<string>('keyboardConvertShortcut') ?? 'ctrl+shift+c',
36-
keyboardAnalyzeShortcut: config.get<string>('keyboardAnalyzeShortcut') ?? 'ctrl+shift+a',
37-
presetsEnabled: config.get<boolean>('presetsEnabled') ?? false,
38-
defaultPreset:
39-
config.get<'minimal' | 'balanced' | 'comprehensive' | 'performance' | 'timezone'>(
40-
'defaultPreset',
41-
) ?? 'balanced',
42-
})
7+
return Object.freeze({
8+
copyToClipboardEnabled: config.get<boolean>('copyToClipboardEnabled') ?? false,
9+
dedupeEnabled: config.get<boolean>('dedupeEnabled') ?? true,
10+
notificationsLevel: config.get<'all' | 'important' | 'silent'>('notificationsLevel') ?? 'important',
11+
postProcessOpenInNewFile: config.get<boolean>('postProcessOpenInNewFile') ?? false,
12+
openResultsSideBySide: config.get<boolean>('openResultsSideBySide') ?? true,
13+
safetyEnabled: config.get<boolean>('safetyEnabled') ?? true,
14+
safetyFileSizeWarnBytes: config.get<number>('safetyFileSizeWarnBytes') ?? 1048576,
15+
safetyLargeOutputLinesThreshold: config.get<number>('safetyLargeOutputLinesThreshold') ?? 1000,
16+
safetyManyDocumentsThreshold: config.get<number>('safetyManyDocumentsThreshold') ?? 10,
17+
showParseErrors: config.get<boolean>('showParseErrors') ?? true,
18+
statusBarEnabled: config.get<boolean>('statusBarEnabled') ?? true,
19+
telemetryEnabled: config.get<boolean>('telemetryEnabled') ?? false,
20+
analysisEnabled: config.get<boolean>('analysisEnabled') ?? false,
21+
analysisIncludePatterns: config.get<boolean>('analysisIncludePatterns') ?? false,
22+
analysisIncludeRanges: config.get<boolean>('analysisIncludeRanges') ?? false,
23+
analysisIncludeAnomalies: config.get<boolean>('analysisIncludeAnomalies') ?? false,
24+
outputFormat: config.get<OutputFormat>('outputFormat') ?? 'iso',
25+
timezone: config.get<string>('timezone') ?? 'UTC',
26+
performanceEnabled: config.get<boolean>('performanceEnabled') ?? false,
27+
performanceMaxDuration: config.get<number>('performanceMaxDuration') ?? 5000,
28+
performanceMaxMemoryUsage: config.get<number>('performanceMaxMemoryUsage') ?? 100,
29+
performanceMaxCpuUsage: config.get<number>('performanceMaxCpuUsage') ?? 80,
30+
performanceMinThroughput: config.get<number>('performanceMinThroughput') ?? 1000,
31+
performanceMaxCacheSize: config.get<number>('performanceMaxCacheSize') ?? 100,
32+
keyboardShortcutsEnabled: config.get<boolean>('keyboardShortcutsEnabled') ?? true,
33+
keyboardExtractShortcut: config.get<string>('keyboardExtractShortcut') ?? 'ctrl+shift+e',
34+
keyboardConvertShortcut: config.get<string>('keyboardConvertShortcut') ?? 'ctrl+shift+c',
35+
keyboardAnalyzeShortcut: config.get<string>('keyboardAnalyzeShortcut') ?? 'ctrl+shift+a',
36+
presetsEnabled: config.get<boolean>('presetsEnabled') ?? false,
37+
defaultPreset:
38+
config.get<'minimal' | 'balanced' | 'comprehensive' | 'performance' | 'timezone'>('defaultPreset') ?? 'balanced',
39+
})
4340
}

src/extraction/extract.ts

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,54 @@ import { extractFromJson } from './formats/json'
44
import { extractFromYaml } from './formats/yaml'
55

66
export async function extractDates(content: string, languageId: string): Promise<ExtractionResult> {
7-
const fileType = determineFileType(languageId)
8-
const dates: DateValue[] = []
9-
const errors: ParseError[] = []
7+
const fileType = determineFileType(languageId)
8+
const dates: DateValue[] = []
9+
const errors: ParseError[] = []
1010

11-
try {
12-
switch (fileType) {
13-
case 'json':
14-
dates.push(...extractFromJson(content))
15-
break
16-
case 'yaml':
17-
case 'yml':
18-
dates.push(...extractFromYaml(content))
19-
break
20-
case 'csv':
21-
dates.push(...extractFromCsv(content))
22-
break
23-
default:
24-
// Unsupported file type - return empty results
25-
break
26-
}
27-
} catch (error) {
28-
errors.push({
29-
category: 'parsing' as const,
30-
severity: 'warning' as const,
31-
message: error instanceof Error ? error.message : 'Unknown parsing error',
32-
recoverable: true,
33-
recoveryAction: 'skip' as const,
34-
timestamp: Date.now(),
35-
})
36-
}
11+
try {
12+
switch (fileType) {
13+
case 'json':
14+
dates.push(...extractFromJson(content))
15+
break
16+
case 'yaml':
17+
case 'yml':
18+
dates.push(...extractFromYaml(content))
19+
break
20+
case 'csv':
21+
dates.push(...extractFromCsv(content))
22+
break
23+
default:
24+
// Unsupported file type - return empty results
25+
break
26+
}
27+
} catch (error) {
28+
errors.push({
29+
category: 'parsing' as const,
30+
severity: 'warning' as const,
31+
message: error instanceof Error ? error.message : 'Unknown parsing error',
32+
recoverable: true,
33+
recoveryAction: 'skip' as const,
34+
timestamp: Date.now(),
35+
})
36+
}
3737

38-
return Object.freeze({
39-
success: errors.length === 0,
40-
dates: Object.freeze(dates),
41-
errors: Object.freeze(errors),
42-
})
38+
return Object.freeze({
39+
success: errors.length === 0,
40+
dates: Object.freeze(dates),
41+
errors: Object.freeze(errors),
42+
})
4343
}
4444

4545
function determineFileType(languageId: string): FileType {
46-
switch (languageId) {
47-
case 'json':
48-
return 'json'
49-
case 'yaml':
50-
case 'yml':
51-
return 'yaml'
52-
case 'csv':
53-
return 'csv'
54-
default:
55-
return 'unknown'
56-
}
46+
switch (languageId) {
47+
case 'json':
48+
return 'json'
49+
case 'yaml':
50+
case 'yml':
51+
return 'yaml'
52+
case 'csv':
53+
return 'csv'
54+
default:
55+
return 'unknown'
56+
}
5757
}

0 commit comments

Comments
 (0)