@@ -28,6 +28,8 @@ import (
2828 "code.gitea.io/gitea/services/context/upload"
2929 "code.gitea.io/gitea/services/forms"
3030 files_service "code.gitea.io/gitea/services/repository/files"
31+
32+ "github.com/editorconfig/editorconfig-core-go/v2"
3133)
3234
3335const (
@@ -191,8 +193,13 @@ func editFile(ctx *context.Context, isNewFile bool) {
191193 ctx .Data ["new_branch_name" ] = GetUniquePatchBranchName (ctx )
192194 ctx .Data ["last_commit" ] = ctx .Repo .CommitID
193195 ctx .Data ["PreviewableExtensions" ] = strings .Join (markup .PreviewableExtensions (), "," )
194- ctx .Data ["LineWrapExtensions" ] = strings .Join (setting .Repository .Editor .LineWrapExtensions , "," )
195- ctx .Data ["EditorconfigJson" ] = GetEditorConfig (ctx , treePath )
196+ ctx .Data ["LineWrapExtensions" ] = setting .Repository .Editor .LineWrapExtensions
197+
198+ ecDef := GetEditorConfig (ctx , treePath )
199+ ecBytes , _ := json .Marshal (ecDef )
200+ ctx .Data ["EditorconfigJson" ] = string (ecBytes )
201+ ctx .Data ["EditorconfigIndentStyle" ] = ecDef .IndentStyle
202+ ctx .Data ["EditorconfigIndentSize" ] = ecDef .IndentSize
196203
197204 ctx .Data ["IsEditingFileOnly" ] = ctx .FormString ("return_uri" ) != ""
198205 ctx .Data ["ReturnURI" ] = ctx .FormString ("return_uri" )
@@ -201,16 +208,17 @@ func editFile(ctx *context.Context, isNewFile bool) {
201208}
202209
203210// GetEditorConfig returns a editorconfig JSON string for given treePath or "null"
204- func GetEditorConfig (ctx * context.Context , treePath string ) string {
211+ func GetEditorConfig (ctx * context.Context , treePath string ) * editorconfig. Definition {
205212 ec , _ , err := ctx .Repo .GetEditorconfig ()
206213 if err == nil {
207214 def , err := ec .GetDefinitionForFilename (treePath )
208215 if err == nil {
209- jsonStr , _ := json .Marshal (def )
210- return string (jsonStr )
216+ return def
217+ } else {
218+ return nil
211219 }
212220 }
213- return "null"
221+ return nil
214222}
215223
216224// EditFile render edit file page
@@ -245,7 +253,7 @@ func editFilePost(ctx *context.Context, form forms.EditRepoFileForm, isNewFile b
245253 ctx .Data ["new_branch_name" ] = form .NewBranchName
246254 ctx .Data ["last_commit" ] = ctx .Repo .CommitID
247255 ctx .Data ["PreviewableExtensions" ] = strings .Join (markup .PreviewableExtensions (), "," )
248- ctx .Data ["LineWrapExtensions" ] = strings . Join ( setting .Repository .Editor .LineWrapExtensions , "," )
256+ ctx .Data ["LineWrapExtensions" ] = setting .Repository .Editor .LineWrapExtensions
249257 ctx .Data ["EditorconfigJson" ] = GetEditorConfig (ctx , form .TreePath )
250258
251259 if ctx .HasError () {
0 commit comments