Skip to content

Commit c430a2d

Browse files
committed
Add code line docs
1 parent 1db1432 commit c430a2d

File tree

2 files changed

+59
-8
lines changed

2 files changed

+59
-8
lines changed

coderts/generate.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,19 @@ func run() error {
4545
continue
4646
}
4747
for _, spec := range genDecl.Specs {
48+
pos := fset.Position(spec.Pos())
4849
switch s := spec.(type) {
4950
// TypeSpec case for structs and type alias
5051
case *ast.TypeSpec:
51-
out, err := handleTypeSpec(s)
52+
out, err := handleTypeSpec(s, pos)
5253
if err != nil {
5354
break
5455
}
5556

5657
_, _ = fmt.Printf(out)
5758
// ValueSpec case for const "enums"
5859
case *ast.ValueSpec:
59-
out, err := handleValueSpec(s)
60+
out, err := handleValueSpec(s, pos)
6061
if err != nil {
6162
break
6263
}
@@ -70,13 +71,13 @@ func run() error {
7071
return nil
7172
}
7273

73-
func handleTypeSpec(typeSpec *ast.TypeSpec) (string, error) {
74+
func handleTypeSpec(typeSpec *ast.TypeSpec, pos token.Position) (string, error) {
7475
jsonFields := 0
75-
s := ""
76+
s := fmt.Sprintf("// From %s.\n", pos.String())
7677
switch t := typeSpec.Type.(type) {
7778
// Struct declaration
7879
case *ast.StructType:
79-
s = fmt.Sprintf("export interface %s {\n", typeSpec.Name.Name)
80+
s = fmt.Sprintf("%sexport interface %s {\n", s, typeSpec.Name.Name)
8081
for _, field := range t.Fields.List {
8182
i, optional, err := getIdent(field.Type)
8283
if err != nil {
@@ -105,13 +106,13 @@ func handleTypeSpec(typeSpec *ast.TypeSpec) (string, error) {
105106
return fmt.Sprintf("%s}\n\n", s), nil
106107
// Type alias declaration
107108
case *ast.Ident:
108-
return fmt.Sprintf("type %s = %s\n\n", typeSpec.Name.Name, t.Name), nil
109+
return fmt.Sprintf("%stype %s = %s\n\n", s, typeSpec.Name.Name, t.Name), nil
109110
default:
110111
return "", xerrors.New("not struct or alias")
111112
}
112113
}
113114

114-
func handleValueSpec(valueSpec *ast.ValueSpec) (string, error) {
115+
func handleValueSpec(valueSpec *ast.ValueSpec, pos token.Position) (string, error) {
115116
valueDecl := ""
116117
valueName := ""
117118
valueType := ""
@@ -139,7 +140,7 @@ func handleValueSpec(valueSpec *ast.ValueSpec) (string, error) {
139140
break
140141
}
141142

142-
return fmt.Sprintf("%s %s: %s = %s\n\n", valueDecl, valueName, valueType, valueValue), nil
143+
return fmt.Sprintf("// From %s.\n%s %s: %s = %s\n\n", pos.String(), valueDecl, valueName, valueType, valueValue), nil
143144
}
144145

145146
func getIdent(e ast.Expr) (*ast.Ident, string, error) {

coderts/types.ts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,163 +1,207 @@
1+
// From codersdk/buildinfo.go:10:6.
12
export interface BuildInfoResponse {
23
external_url: string
34
version: string
45
}
56

7+
// From codersdk/files.go:16:6.
68
export interface UploadResponse {
79
hash: string
810
}
911

12+
// From codersdk/gitsshkey.go:14:6.
1013
export interface GitSSHKey {
1114
public_key: string
1215
}
1316

17+
// From codersdk/gitsshkey.go:21:6.
1418
export interface AgentGitSSHKey {
1519
private_key: string
1620
}
1721

22+
// From codersdk/organizations.go:17:6.
1823
export interface Organization {
1924
name: string
2025
}
2126

27+
// From codersdk/organizations.go:25:6.
2228
export interface CreateTemplateVersionRequest {
2329
storage_source: string
2430
}
2531

32+
// From codersdk/organizations.go:38:6.
2633
export interface CreateTemplateRequest {
2734
name: string
2835
}
2936

37+
// From codersdk/parameters.go:16:6.
3038
type ParameterScope = string
3139

40+
// From codersdk/parameters.go:19:2.
3241
const ParameterOrganization: ParameterScope = "organization"
3342

43+
// From codersdk/parameters.go:20:2.
3444
const ParameterTemplate: ParameterScope = "template"
3545

46+
// From codersdk/parameters.go:21:2.
3647
const ParameterUser: ParameterScope = "user"
3748

49+
// From codersdk/parameters.go:22:2.
3850
const ParameterWorkspace: ParameterScope = "workspace"
3951

52+
// From codersdk/parameters.go:26:6.
4053
export interface Parameter {
4154
scope: ParameterScope
4255
name: string
4356
}
4457

58+
// From codersdk/parameters.go:38:6.
4559
export interface CreateParameterRequest {
4660
name: string
4761
source_value: string
4862
}
4963

64+
// From codersdk/provisionerdaemons.go:26:6.
5065
type ProvisionerJobStatus = string
5166

67+
// From codersdk/provisionerdaemons.go:29:2.
5268
const ProvisionerJobPending: ProvisionerJobStatus = "pending"
5369

70+
// From codersdk/provisionerdaemons.go:30:2.
5471
const ProvisionerJobRunning: ProvisionerJobStatus = "running"
5572

73+
// From codersdk/provisionerdaemons.go:31:2.
5674
const ProvisionerJobSucceeded: ProvisionerJobStatus = "succeeded"
5775

76+
// From codersdk/provisionerdaemons.go:32:2.
5877
const ProvisionerJobCanceling: ProvisionerJobStatus = "canceling"
5978

79+
// From codersdk/provisionerdaemons.go:33:2.
6080
const ProvisionerJobCanceled: ProvisionerJobStatus = "canceled"
6181

82+
// From codersdk/provisionerdaemons.go:34:2.
6283
const ProvisionerJobFailed: ProvisionerJobStatus = "failed"
6384

85+
// From codersdk/provisionerdaemons.go:37:6.
6486
export interface ProvisionerJob {
6587
error: string
6688
status: ProvisionerJobStatus
6789
}
6890

91+
// From codersdk/provisionerdaemons.go:47:6.
6992
export interface ProvisionerJobLog {
7093
stage: string
7194
output: string
7295
}
7396

97+
// From codersdk/templates.go:17:6.
7498
export interface Template {
7599
name: string
76100
workspace_owner_count: number
77101
}
78102

103+
// From codersdk/templateversions.go:17:6.
79104
export interface TemplateVersion {
80105
name: string
81106
job: ProvisionerJob
82107
}
83108

109+
// From codersdk/users.go:17:6.
84110
export interface User {
85111
email: string
86112
username: string
87113
name: string
88114
}
89115

116+
// From codersdk/users.go:25:6.
90117
export interface CreateFirstUserRequest {
91118
email: string
92119
username: string
93120
password: string
94121
organization: string
95122
}
96123

124+
// From codersdk/users.go:38:6.
97125
export interface CreateUserRequest {
98126
email: string
99127
username: string
100128
password: string
101129
}
102130

131+
// From codersdk/users.go:45:6.
103132
export interface UpdateUserProfileRequest {
104133
email: string
105134
username: string
106135
name?: string
107136
}
108137

138+
// From codersdk/users.go:52:6.
109139
export interface LoginWithPasswordRequest {
110140
email: string
111141
password: string
112142
}
113143

144+
// From codersdk/users.go:58:6.
114145
export interface LoginWithPasswordResponse {
115146
session_token: string
116147
}
117148

149+
// From codersdk/users.go:63:6.
118150
export interface GenerateAPIKeyResponse {
119151
key: string
120152
}
121153

154+
// From codersdk/users.go:67:6.
122155
export interface CreateOrganizationRequest {
123156
name: string
124157
}
125158

159+
// From codersdk/users.go:72:6.
126160
export interface CreateWorkspaceRequest {
127161
name: string
128162
}
129163

164+
// From codersdk/workspaceagents.go:26:6.
130165
export interface GoogleInstanceIdentityToken {
131166
json_web_token: string
132167
}
133168

169+
// From codersdk/workspaceagents.go:30:6.
134170
export interface AWSInstanceIdentityToken {
135171
signature: string
136172
document: string
137173
}
138174

175+
// From codersdk/workspaceagents.go:37:6.
139176
export interface WorkspaceAgentAuthenticateResponse {
140177
session_token: string
141178
}
142179

180+
// From codersdk/workspacebuilds.go:17:6.
143181
export interface WorkspaceBuild {
144182
name: string
145183
job: ProvisionerJob
146184
}
147185

186+
// From codersdk/workspaceresources.go:15:6.
148187
type WorkspaceAgentStatus = string
149188

189+
// From codersdk/workspaceresources.go:18:2.
150190
const WorkspaceAgentConnecting: WorkspaceAgentStatus = "connecting"
151191

192+
// From codersdk/workspaceresources.go:19:2.
152193
const WorkspaceAgentConnected: WorkspaceAgentStatus = "connected"
153194

195+
// From codersdk/workspaceresources.go:20:2.
154196
const WorkspaceAgentDisconnected: WorkspaceAgentStatus = "disconnected"
155197

198+
// From codersdk/workspaceresources.go:23:6.
156199
export interface WorkspaceResource {
157200
type: string
158201
name: string
159202
}
160203

204+
// From codersdk/workspaceresources.go:33:6.
161205
export interface WorkspaceAgent {
162206
status: WorkspaceAgentStatus
163207
name: string
@@ -167,6 +211,7 @@ export interface WorkspaceAgent {
167211
startup_script: string
168212
}
169213

214+
// From codersdk/workspaceresources.go:50:6.
170215
export interface WorkspaceAgentResourceMetadata {
171216
memory_total: number
172217
disk_total: number
@@ -175,6 +220,7 @@ export interface WorkspaceAgentResourceMetadata {
175220
cpu_mhz: number
176221
}
177222

223+
// From codersdk/workspaceresources.go:58:6.
178224
export interface WorkspaceAgentInstanceMetadata {
179225
jail_orchestrator: string
180226
operating_system: string
@@ -187,6 +233,7 @@ export interface WorkspaceAgentInstanceMetadata {
187233
vnc: boolean
188234
}
189235

236+
// From codersdk/workspaces.go:18:6.
190237
export interface Workspace {
191238
template_name: string
192239
latest_build: WorkspaceBuild
@@ -196,14 +243,17 @@ export interface Workspace {
196243
autostop_schedule: string
197244
}
198245

246+
// From codersdk/workspaces.go:33:6.
199247
export interface CreateWorkspaceBuildRequest {
200248
dry_run: boolean
201249
}
202250

251+
// From codersdk/workspaces.go:94:6.
203252
export interface UpdateWorkspaceAutostartRequest {
204253
schedule: string
205254
}
206255

256+
// From codersdk/workspaces.go:114:6.
207257
export interface UpdateWorkspaceAutostopRequest {
208258
schedule: string
209259
}

0 commit comments

Comments
 (0)