/ utils / bash / specs / pyright.ts
pyright.ts
 1  import type { CommandSpec } from '../registry.js'
 2  
 3  export default {
 4    name: 'pyright',
 5    description: 'Type checker for Python',
 6    options: [
 7      { name: ['--help', '-h'], description: 'Show help message' },
 8      { name: '--version', description: 'Print pyright version and exit' },
 9      {
10        name: ['--watch', '-w'],
11        description: 'Continue to run and watch for changes',
12      },
13      {
14        name: ['--project', '-p'],
15        description: 'Use the configuration file at this location',
16        args: { name: 'FILE OR DIRECTORY' },
17      },
18      { name: '-', description: 'Read file or directory list from stdin' },
19      {
20        name: '--createstub',
21        description: 'Create type stub file(s) for import',
22        args: { name: 'IMPORT' },
23      },
24      {
25        name: ['--typeshedpath', '-t'],
26        description: 'Use typeshed type stubs at this location',
27        args: { name: 'DIRECTORY' },
28      },
29      {
30        name: '--verifytypes',
31        description: 'Verify completeness of types in py.typed package',
32        args: { name: 'IMPORT' },
33      },
34      {
35        name: '--ignoreexternal',
36        description: 'Ignore external imports for --verifytypes',
37      },
38      {
39        name: '--pythonpath',
40        description: 'Path to the Python interpreter',
41        args: { name: 'FILE' },
42      },
43      {
44        name: '--pythonplatform',
45        description: 'Analyze for platform',
46        args: { name: 'PLATFORM' },
47      },
48      {
49        name: '--pythonversion',
50        description: 'Analyze for Python version',
51        args: { name: 'VERSION' },
52      },
53      {
54        name: ['--venvpath', '-v'],
55        description: 'Directory that contains virtual environments',
56        args: { name: 'DIRECTORY' },
57      },
58      { name: '--outputjson', description: 'Output results in JSON format' },
59      { name: '--verbose', description: 'Emit verbose diagnostics' },
60      { name: '--stats', description: 'Print detailed performance stats' },
61      {
62        name: '--dependencies',
63        description: 'Emit import dependency information',
64      },
65      {
66        name: '--level',
67        description: 'Minimum diagnostic level',
68        args: { name: 'LEVEL' },
69      },
70      {
71        name: '--skipunannotated',
72        description: 'Skip type analysis of unannotated functions',
73      },
74      {
75        name: '--warnings',
76        description: 'Use exit code of 1 if warnings are reported',
77      },
78      {
79        name: '--threads',
80        description: 'Use up to N threads to parallelize type checking',
81        args: { name: 'N', isOptional: true },
82      },
83    ],
84    args: {
85      name: 'files',
86      description:
87        'Specify files or directories to analyze (overrides config file)',
88      isVariadic: true,
89      isOptional: true,
90    },
91  } satisfies CommandSpec