md2cv 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.ja.md +7 -0
  3. package/README.md +7 -0
  4. package/dist/cli/index.d.ts +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +45 -27
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/generator/common.d.ts +86 -0
  9. package/dist/generator/common.d.ts.map +1 -0
  10. package/dist/generator/common.js +326 -0
  11. package/dist/generator/common.js.map +1 -0
  12. package/dist/generator/index.d.ts +39 -12
  13. package/dist/generator/index.d.ts.map +1 -1
  14. package/dist/generator/index.js +43 -30
  15. package/dist/generator/index.js.map +1 -1
  16. package/dist/generator/resume_en.d.ts +4 -15
  17. package/dist/generator/resume_en.d.ts.map +1 -1
  18. package/dist/generator/resume_en.js +23 -323
  19. package/dist/generator/resume_en.js.map +1 -1
  20. package/dist/generator/resume_ja.d.ts +4 -15
  21. package/dist/generator/resume_ja.d.ts.map +1 -1
  22. package/dist/generator/resume_ja.js +17 -263
  23. package/dist/generator/resume_ja.js.map +1 -1
  24. package/dist/generator/rirekisho/styles.d.ts.map +1 -1
  25. package/dist/generator/rirekisho/styles.js +9 -14
  26. package/dist/generator/rirekisho/styles.js.map +1 -1
  27. package/dist/generator/rirekisho/types.d.ts +2 -2
  28. package/dist/generator/rirekisho/types.d.ts.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/parser/index.d.ts.map +1 -1
  34. package/dist/parser/index.js +172 -109
  35. package/dist/parser/index.js.map +1 -1
  36. package/dist/parser/lsp.d.ts +58 -0
  37. package/dist/parser/lsp.d.ts.map +1 -0
  38. package/dist/parser/lsp.js +265 -0
  39. package/dist/parser/lsp.js.map +1 -0
  40. package/dist/types/config.d.ts +23 -15
  41. package/dist/types/config.d.ts.map +1 -1
  42. package/dist/types/index.d.ts +1 -0
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js +1 -0
  45. package/dist/types/index.js.map +1 -1
  46. package/dist/types/position.d.ts +42 -0
  47. package/dist/types/position.d.ts.map +1 -0
  48. package/dist/types/position.js +32 -0
  49. package/dist/types/position.js.map +1 -0
  50. package/dist/types/sections.d.ts +39 -24
  51. package/dist/types/sections.d.ts.map +1 -1
  52. package/dist/types/sections.js +21 -0
  53. package/dist/types/sections.js.map +1 -1
  54. package/dist/validator/index.d.ts.map +1 -1
  55. package/dist/validator/index.js +1 -2
  56. package/dist/validator/index.js.map +1 -1
  57. package/examples/example-cv-ja.md +1 -1
  58. package/package.json +52 -4
@@ -0,0 +1,265 @@
1
+ /**
2
+ * LSP-aware parser module
3
+ * Extends the base parser with position information for VS Code integration
4
+ */
5
+ import remarkFrontmatter from 'remark-frontmatter';
6
+ import remarkGfm from 'remark-gfm';
7
+ import remarkParse from 'remark-parse';
8
+ import { unified } from 'unified';
9
+ import { YAMLParseError, parseDocument } from 'yaml';
10
+ import { createParseError, createPosition, createRange, failure, success, } from '../types/index.js';
11
+ import { findSectionByTag } from '../types/sections.js';
12
+ /**
13
+ * Create markdown processor
14
+ */
15
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
16
+ function createProcessor() {
17
+ return unified()
18
+ .use(remarkParse)
19
+ .use(remarkGfm)
20
+ .use(remarkFrontmatter, ['yaml']);
21
+ }
22
+ /**
23
+ * Convert mdast position to our Position type (0-based)
24
+ */
25
+ function toPosition(point) {
26
+ if (!point) {
27
+ return createPosition(0, 0);
28
+ }
29
+ // mdast uses 1-based lines and columns, convert to 0-based
30
+ return createPosition(point.line - 1, point.column - 1);
31
+ }
32
+ /**
33
+ * Convert mdast position to our Range type
34
+ */
35
+ function toRange(position) {
36
+ if (!position) {
37
+ return createRange(createPosition(0, 0), createPosition(0, 0));
38
+ }
39
+ return createRange(toPosition(position.start), toPosition(position.end));
40
+ }
41
+ /**
42
+ * Extract text from mdast node
43
+ */
44
+ function extractText(node) {
45
+ if ('value' in node && typeof node.value === 'string') {
46
+ return node.value;
47
+ }
48
+ if ('children' in node && Array.isArray(node.children)) {
49
+ return node.children.map(extractText).join('');
50
+ }
51
+ return '';
52
+ }
53
+ /**
54
+ * Parse frontmatter YAML with position information
55
+ */
56
+ function parseFrontmatterWithPositions(yamlNode, errors) {
57
+ const yamlContent = yamlNode.value;
58
+ const nodeRange = toRange(yamlNode.position);
59
+ // The YAML content starts after the opening ---
60
+ // We need to calculate the offset for field positions
61
+ const yamlStartLine = nodeRange.start.line + 1; // Skip the --- line
62
+ const fields = [];
63
+ try {
64
+ const doc = parseDocument(yamlContent, { keepSourceTokens: true });
65
+ if (doc.contents && 'items' in doc.contents) {
66
+ for (const item of doc.contents.items) {
67
+ // Check if item is a Pair (has key and value properties)
68
+ if ('key' in item &&
69
+ 'value' in item &&
70
+ item.key &&
71
+ item.value !== undefined) {
72
+ const keyNode = item.key;
73
+ const valueNode = item.value;
74
+ const keyStr = String(keyNode);
75
+ const valueStr = valueNode ? String(valueNode) : undefined;
76
+ // Calculate positions relative to the document
77
+ // yaml library uses 0-based offsets, we need to convert to line/column
78
+ const keyRange = calculateYamlNodeRange(yamlContent, keyNode, yamlStartLine);
79
+ const valueRange = valueNode
80
+ ? calculateYamlNodeRange(yamlContent, valueNode, yamlStartLine)
81
+ : undefined;
82
+ const fieldRange = createRange(keyRange.start, valueRange ? valueRange.end : keyRange.end);
83
+ fields.push({
84
+ key: keyStr,
85
+ value: valueStr,
86
+ range: fieldRange,
87
+ keyRange,
88
+ valueRange,
89
+ });
90
+ }
91
+ }
92
+ }
93
+ }
94
+ catch (e) {
95
+ if (e instanceof YAMLParseError) {
96
+ const line = e.linePos?.[0]?.line ?? 1;
97
+ const col = e.linePos?.[0]?.col ?? 1;
98
+ errors.push(createParseError(`Invalid YAML frontmatter: ${e.message}`, yamlStartLine + line - 1, col, 'frontmatter'));
99
+ }
100
+ else {
101
+ const msg = e instanceof Error ? e.message : 'Unknown error';
102
+ errors.push(createParseError(`Invalid YAML frontmatter: ${msg}`, nodeRange.start.line, nodeRange.start.character, 'frontmatter'));
103
+ }
104
+ return null;
105
+ }
106
+ return {
107
+ range: nodeRange,
108
+ fields,
109
+ raw: yamlContent,
110
+ };
111
+ }
112
+ /**
113
+ * Calculate range for a YAML node within the document
114
+ */
115
+ function calculateYamlNodeRange(yamlContent, node, baseLineOffset) {
116
+ // Try to get range from node if available
117
+ const nodeWithRange = node;
118
+ if (nodeWithRange.range) {
119
+ const [startOffset, endOffset] = nodeWithRange.range;
120
+ const startPos = offsetToPosition(yamlContent, startOffset, baseLineOffset);
121
+ const endPos = offsetToPosition(yamlContent, endOffset, baseLineOffset);
122
+ return createRange(startPos, endPos);
123
+ }
124
+ // Fallback: return a zero-width range at the base offset
125
+ return createRange(createPosition(baseLineOffset, 0), createPosition(baseLineOffset, 0));
126
+ }
127
+ /**
128
+ * Convert byte offset to Position
129
+ */
130
+ function offsetToPosition(content, offset, baseLineOffset) {
131
+ let line = 0;
132
+ let lastNewline = -1;
133
+ for (let i = 0; i < offset && i < content.length; i++) {
134
+ if (content[i] === '\n') {
135
+ line++;
136
+ lastNewline = i;
137
+ }
138
+ }
139
+ const character = offset - lastNewline - 1;
140
+ return createPosition(baseLineOffset + line, character);
141
+ }
142
+ /**
143
+ * Parse code block with position information
144
+ */
145
+ function parseCodeBlock(codeNode) {
146
+ const lang = codeNode.lang || '';
147
+ // Only process resume: code blocks
148
+ if (!lang.startsWith('resume:')) {
149
+ return null;
150
+ }
151
+ const type = lang.replace('resume:', '');
152
+ const range = toRange(codeNode.position);
153
+ // Content range is inside the code fence
154
+ // Start after the opening ``` line, end before the closing ```
155
+ const contentRange = createRange(createPosition(range.start.line + 1, 0), createPosition(range.end.line - 1, 0));
156
+ return {
157
+ type,
158
+ lang,
159
+ content: codeNode.value,
160
+ range,
161
+ contentRange,
162
+ };
163
+ }
164
+ /**
165
+ * Parse sections with position information
166
+ */
167
+ function parseSectionsWithPositions(tree) {
168
+ const sections = [];
169
+ const contentNodes = tree.children.filter((node) => node.type !== 'yaml');
170
+ let currentTitle = null;
171
+ let currentTitleRange = null;
172
+ let currentCodeBlocks = [];
173
+ for (const node of contentNodes) {
174
+ if (node.type === 'heading' && node.depth === 1) {
175
+ // Save previous section
176
+ if (currentTitle !== null && currentTitleRange !== null) {
177
+ const sectionDef = findSectionByTag(currentTitle);
178
+ if (sectionDef) {
179
+ const endLine = node.position?.start.line
180
+ ? node.position.start.line - 2
181
+ : currentTitleRange.end.line;
182
+ sections.push({
183
+ id: sectionDef.id,
184
+ title: currentTitle,
185
+ range: createRange(currentTitleRange.start, createPosition(endLine, 0)),
186
+ titleRange: currentTitleRange,
187
+ codeBlocks: currentCodeBlocks,
188
+ });
189
+ }
190
+ }
191
+ // Start new section
192
+ currentTitle = node.children
193
+ .map((c) => extractText(c))
194
+ .join('');
195
+ currentTitleRange = toRange(node.position);
196
+ currentCodeBlocks = [];
197
+ }
198
+ else if (currentTitle !== null && node.type === 'code') {
199
+ const codeBlock = parseCodeBlock(node);
200
+ if (codeBlock) {
201
+ currentCodeBlocks.push(codeBlock);
202
+ }
203
+ }
204
+ }
205
+ // Don't forget last section
206
+ if (currentTitle !== null && currentTitleRange !== null) {
207
+ const sectionDef = findSectionByTag(currentTitle);
208
+ if (sectionDef) {
209
+ // Find the last line of content
210
+ const lastNode = contentNodes[contentNodes.length - 1];
211
+ const endLine = lastNode?.position?.end.line ?? currentTitleRange.end.line;
212
+ sections.push({
213
+ id: sectionDef.id,
214
+ title: currentTitle,
215
+ range: createRange(currentTitleRange.start, createPosition(endLine - 1, 0)),
216
+ titleRange: currentTitleRange,
217
+ codeBlocks: currentCodeBlocks,
218
+ });
219
+ }
220
+ }
221
+ return sections;
222
+ }
223
+ /**
224
+ * Parse markdown with full position information for LSP
225
+ */
226
+ export function parseMarkdownWithPositions(markdown) {
227
+ const errors = [];
228
+ try {
229
+ const processor = createProcessor();
230
+ const tree = processor.parse(markdown);
231
+ // Find and parse frontmatter
232
+ const yamlNode = tree.children.find((node) => node.type === 'yaml');
233
+ const frontmatter = yamlNode
234
+ ? parseFrontmatterWithPositions(yamlNode, errors)
235
+ : null;
236
+ if (errors.length > 0) {
237
+ return failure(errors);
238
+ }
239
+ // Collect all code blocks
240
+ const allCodeBlocks = [];
241
+ for (const node of tree.children) {
242
+ if (node.type === 'code') {
243
+ const codeBlock = parseCodeBlock(node);
244
+ if (codeBlock) {
245
+ allCodeBlocks.push(codeBlock);
246
+ }
247
+ }
248
+ }
249
+ // Parse sections
250
+ const sections = parseSectionsWithPositions(tree);
251
+ return success({
252
+ frontmatter,
253
+ sections,
254
+ codeBlocks: allCodeBlocks,
255
+ rawContent: markdown,
256
+ });
257
+ }
258
+ catch (e) {
259
+ const msg = e instanceof Error ? e.message : 'Unknown error';
260
+ errors.push(createParseError(`Failed to parse markdown: ${msg}`, 1, 1, 'markdown'));
261
+ return failure(errors);
262
+ }
263
+ }
264
+ export default parseMarkdownWithPositions;
265
+ //# sourceMappingURL=lsp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../src/parser/lsp.ts"],"names":[],"mappings":"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"}
@@ -119,21 +119,22 @@ export declare const INIT_OPTIONS: {
119
119
  };
120
120
  /**
121
121
  * CLI options parsed from command line
122
+ * Optional fields use `?:` syntax since CLI parser may not provide all values
122
123
  */
123
124
  export interface CLIOptions {
124
125
  readonly input: string;
125
- readonly output: string | undefined;
126
- readonly format: OutputFormat;
127
- readonly outputType: OutputType;
128
- readonly paperSize: PaperSize | undefined;
129
- readonly config: string | undefined;
126
+ readonly output?: string;
127
+ readonly format?: OutputFormat;
128
+ readonly outputType?: OutputType;
129
+ readonly paperSize?: PaperSize;
130
+ readonly config?: string;
130
131
  readonly debug: boolean;
131
- readonly logFormat: LogFormat;
132
- readonly chronologicalOrder: ChronologicalOrder | undefined;
133
- readonly hideMotivation: boolean;
134
- readonly photo: string | undefined;
135
- readonly sectionOrder: string | undefined;
136
- readonly stylesheet: string | undefined;
132
+ readonly logFormat?: LogFormat;
133
+ readonly chronologicalOrder?: ChronologicalOrder;
134
+ readonly hideMotivation?: boolean;
135
+ readonly photo?: string;
136
+ readonly sectionOrder?: string;
137
+ readonly stylesheet?: string;
137
138
  }
138
139
  /**
139
140
  * Configuration file schema (JSON or YAML)
@@ -161,10 +162,17 @@ export interface ResolvedConfig {
161
162
  readonly paperSize: PaperSize;
162
163
  readonly debug: boolean;
163
164
  readonly logFormat: LogFormat;
164
- readonly chronologicalOrder: ChronologicalOrder | undefined;
165
+ readonly chronologicalOrder?: ChronologicalOrder;
165
166
  readonly hideMotivation: boolean;
166
- readonly photo: string | undefined;
167
- readonly sectionOrder: string[] | undefined;
168
- readonly stylesheet: string | undefined;
167
+ readonly photo?: string;
168
+ readonly sectionOrder?: string[];
169
+ readonly stylesheet?: string;
170
+ }
171
+ /**
172
+ * Options for CV/Resume HTML generation
173
+ */
174
+ export interface CVOptions {
175
+ readonly paperSize: PaperSize;
176
+ readonly customStylesheet?: string;
169
177
  }
170
178
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AACjD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEkB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BsB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  export * from './config.js';
5
5
  export * from './errors.js';
6
6
  export * from './metadata.js';
7
+ export * from './position.js';
7
8
  export * from './result.js';
8
9
  export * from './sections.js';
9
10
  export * from './template.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -4,6 +4,7 @@
4
4
  export * from './config.js';
5
5
  export * from './errors.js';
6
6
  export * from './metadata.js';
7
+ export * from './position.js';
7
8
  export * from './result.js';
8
9
  export * from './sections.js';
9
10
  export * from './template.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Position and Range types for LSP integration
3
+ * These types are compatible with VS Code's Position and Range
4
+ */
5
+ /**
6
+ * A position in a text document (0-based line and character)
7
+ */
8
+ export interface Position {
9
+ readonly line: number;
10
+ readonly character: number;
11
+ }
12
+ /**
13
+ * A range in a text document
14
+ */
15
+ export interface Range {
16
+ readonly start: Position;
17
+ readonly end: Position;
18
+ }
19
+ /**
20
+ * Create a Position
21
+ */
22
+ export declare function createPosition(line: number, character: number): Position;
23
+ /**
24
+ * Create a Range
25
+ */
26
+ export declare function createRange(start: Position, end: Position): Range;
27
+ /**
28
+ * Create a Range from line/character numbers
29
+ */
30
+ export declare function createRangeFromNumbers(startLine: number, startChar: number, endLine: number, endChar: number): Range;
31
+ /**
32
+ * A located value - wraps a value with its position in the document
33
+ */
34
+ export interface Located<T> {
35
+ readonly value: T;
36
+ readonly range: Range;
37
+ }
38
+ /**
39
+ * Create a Located value
40
+ */
41
+ export declare function located<T>(value: T, range: Range): Located<T>;
42
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,QAAQ,CAExE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,KAAK,CAEjE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,KAAK,CAKP;AAED;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAE7D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Position and Range types for LSP integration
3
+ * These types are compatible with VS Code's Position and Range
4
+ */
5
+ /**
6
+ * Create a Position
7
+ */
8
+ export function createPosition(line, character) {
9
+ return { line, character };
10
+ }
11
+ /**
12
+ * Create a Range
13
+ */
14
+ export function createRange(start, end) {
15
+ return { start, end };
16
+ }
17
+ /**
18
+ * Create a Range from line/character numbers
19
+ */
20
+ export function createRangeFromNumbers(startLine, startChar, endLine, endChar) {
21
+ return {
22
+ start: { line: startLine, character: startChar },
23
+ end: { line: endLine, character: endChar },
24
+ };
25
+ }
26
+ /**
27
+ * Create a Located value
28
+ */
29
+ export function located(value, range) {
30
+ return { value, range };
31
+ }
32
+ //# sourceMappingURL=position.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/types/position.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,SAAiB;IAC5D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,GAAa;IACxD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,SAAiB,EACjB,OAAe,EACf,OAAe;IAEf,OAAO;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;QAChD,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;KAC3C,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,KAAQ,EAAE,KAAY;IAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC"}
@@ -35,54 +35,69 @@ export declare function getRequiredSectionsForFormat(format: OutputFormat): stri
35
35
  * Check if a section is valid for a given output format
36
36
  */
37
37
  export declare function isSectionValidForFormat(sectionId: string, format: OutputFormat): boolean;
38
+ /**
39
+ * CV language type
40
+ */
41
+ export type CvLanguage = 'en' | 'ja';
42
+ /**
43
+ * Check if text contains Japanese characters (Hiragana, Katakana, or Kanji)
44
+ */
45
+ export declare function isJapaneseText(text: string): boolean;
46
+ /**
47
+ * Get tags for a section filtered by language
48
+ * @param sectionId The section ID
49
+ * @param language The language to filter by ('en' or 'ja')
50
+ * @returns Array of tags in the specified language
51
+ */
52
+ export declare function getTagsForLanguage(sectionId: string, language: CvLanguage): string[];
38
53
  /**
39
54
  * Education entry structure (resume:education block)
40
55
  */
41
56
  export interface EducationEntry {
42
57
  readonly school: string;
43
- readonly degree: string | undefined;
44
- readonly location: string | undefined;
45
- readonly start: Date | undefined;
46
- readonly end: Date | undefined;
47
- readonly details: readonly string[] | undefined;
58
+ readonly degree?: string;
59
+ readonly start: Date;
60
+ readonly end: Date;
61
+ readonly location?: string;
62
+ readonly details?: readonly string[];
48
63
  }
49
64
  /**
50
65
  * Project entry within a role
51
66
  */
52
67
  export interface ProjectEntry {
53
68
  readonly name: string;
54
- readonly start: Date | undefined;
55
- readonly end: Date | undefined;
56
- readonly bullets: readonly string[] | undefined;
69
+ readonly start: Date;
70
+ readonly end: Date;
71
+ readonly bullets?: readonly string[];
57
72
  }
58
73
  /**
59
74
  * Role entry within experience
60
75
  */
61
76
  export interface RoleEntry {
62
77
  readonly title: string;
63
- readonly team: string | undefined;
64
- readonly start: Date | undefined;
65
- readonly end: Date | 'present' | undefined;
66
- readonly summary: readonly string[] | undefined;
67
- readonly highlights: readonly string[] | undefined;
68
- readonly projects: readonly ProjectEntry[] | undefined;
78
+ readonly start: Date;
79
+ readonly end: Date | 'present';
80
+ readonly team?: string;
81
+ readonly summary?: readonly string[];
82
+ readonly highlights?: readonly string[];
83
+ readonly projects?: readonly ProjectEntry[];
69
84
  }
70
85
  /**
71
86
  * Experience entry structure (resume:experience block)
72
87
  */
73
88
  export interface ExperienceEntry {
74
89
  readonly company: string;
75
- readonly location: string | undefined;
76
90
  readonly roles: readonly RoleEntry[];
91
+ readonly location?: string;
77
92
  }
78
93
  /**
79
94
  * Certification entry structure (resume:certifications block)
80
95
  */
81
96
  export interface CertificationEntry {
82
97
  readonly name: string;
83
- readonly issuer: string | undefined;
84
- readonly date: Date | undefined;
85
- readonly url: string | undefined;
98
+ readonly date: Date;
99
+ readonly issuer?: string;
100
+ readonly url?: string;
86
101
  }
87
102
  /**
88
103
  * Skill entry structure (resume:skills block)
@@ -92,16 +107,16 @@ export interface CertificationEntry {
92
107
  */
93
108
  export interface SkillEntry {
94
109
  readonly category: string;
95
- readonly items: readonly string[];
96
- readonly description: string | undefined;
97
- readonly level: string | undefined;
110
+ readonly items?: readonly string[];
111
+ readonly description?: string;
112
+ readonly level?: string;
98
113
  }
99
114
  /**
100
115
  * Skills section options
101
116
  */
102
117
  export interface SkillsOptions {
103
- readonly columns: number | undefined;
104
- readonly format: 'grid' | 'categorized' | undefined;
118
+ readonly columns: number;
119
+ readonly format: 'grid' | 'categorized';
105
120
  }
106
121
  /**
107
122
  * Competency entry structure (resume:competencies block)
@@ -115,7 +130,7 @@ export interface CompetencyEntry {
115
130
  */
116
131
  export interface LanguageEntry {
117
132
  readonly language: string;
118
- readonly level: string | undefined;
133
+ readonly level: string;
119
134
  }
120
135
  /**
121
136
  * Parsed section content
@@ -1 +1 @@
1
- {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}
@@ -126,4 +126,25 @@ export function isSectionValidForFormat(sectionId, format) {
126
126
  return true;
127
127
  return def.usage === 'both' || def.usage === format;
128
128
  }
129
+ /**
130
+ * Check if text contains Japanese characters (Hiragana, Katakana, or Kanji)
131
+ */
132
+ export function isJapaneseText(text) {
133
+ return /[\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FAF]/.test(text);
134
+ }
135
+ /**
136
+ * Get tags for a section filtered by language
137
+ * @param sectionId The section ID
138
+ * @param language The language to filter by ('en' or 'ja')
139
+ * @returns Array of tags in the specified language
140
+ */
141
+ export function getTagsForLanguage(sectionId, language) {
142
+ const def = SECTION_DEFINITIONS.find((d) => d.id === sectionId);
143
+ if (!def)
144
+ return [];
145
+ return def.tags.filter((tag) => {
146
+ const isJapanese = isJapaneseText(tag);
147
+ return language === 'ja' ? isJapanese : !isJapanese;
148
+ });
149
+ }
129
150
  //# sourceMappingURL=sections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../src/types/sections.ts"],"names":[],"mappings":"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"}