@@ -75,8 +75,6 @@ export class ZModelCodeActionProvider implements CodeActionProvider {
75
75
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
76
76
const oppositeModel = fieldAstNode . type . reference ! . ref ! as DataModel ;
77
77
78
- const lastField = oppositeModel . fields [ oppositeModel . fields . length - 1 ] ;
79
-
80
78
const currentModel = document . parseResult . value as Model ;
81
79
82
80
const container = currentModel . declarations . find (
@@ -121,17 +119,22 @@ export class ZModelCodeActionProvider implements CodeActionProvider {
121
119
'\n' +
122
120
indent +
123
121
`${ fieldName } ${ typeName } @relation(fields: [${ referenceIdFieldName } ], references: [${ idFieldName } ])` +
124
- referenceField ;
122
+ referenceField +
123
+ '\n' ;
125
124
} else {
126
125
// user User @relation (fields: [userAbc], references: [id])
127
126
const typeName = container . name ;
128
127
const fieldName = this . lowerCaseFirstLetter ( typeName ) ;
129
- newText = '\n' + indent + `${ fieldName } ${ typeName } []` ;
128
+ newText = '\n' + indent + `${ fieldName } ${ typeName } []` + '\n' ;
130
129
}
131
130
132
131
// the opposite model might be in the imported file
133
132
const targetDocument = getDocument ( oppositeModel ) ;
134
133
134
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
135
+ const endOffset = oppositeModel . $cstNode ! . end - 1 ;
136
+ const position = document . textDocument . positionAt ( endOffset ) ;
137
+
135
138
return {
136
139
title : `Add opposite relation fields on ${ oppositeModel . name } ` ,
137
140
kind : CodeActionKind . QuickFix ,
@@ -142,10 +145,8 @@ export class ZModelCodeActionProvider implements CodeActionProvider {
142
145
[ targetDocument . textDocument . uri ] : [
143
146
{
144
147
range : {
145
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
146
- start : lastField . $cstNode ! . range . end ,
147
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
148
- end : lastField . $cstNode ! . range . end ,
148
+ start : position ,
149
+ end : position ,
149
150
} ,
150
151
newText,
151
152
} ,
0 commit comments