krz/orgstar

A native macOS editor for org-mode files. editor org-mode swift

Commit b0ca506efd

b0ca506efd9515fa52a92b52fea3c28a8e55e708

parent: 7708760851

Verified · cmc

cmc <hello@cleberg.net> · 2026-10-05 05:16 UTC

M-q in the app

Layout: unified · split

Sources/Orgstar/ContentView.swift +2 −1
@@ -16,9 +16,10 @@ struct ContentView: View {
1616 @AppStorage("headingAfterSubtree") private var headingAfterSubtree = true
1717 @AppStorage("splitLine") private var splitLine = false
1818 @AppStorage("alphabeticalLists") private var alphabeticalLists = true
19 @AppStorage("fillColumn") private var fillColumn = 80
1920
2021 private var options: EditingOptions {
21 Preferences.options(tagsColumn: tagsColumn, headingAfterSubtree: headingAfterSubtree, splitLine: splitLine, alphabeticalLists: alphabeticalLists)
22 Preferences.options(tagsColumn: tagsColumn, headingAfterSubtree: headingAfterSubtree, splitLine: splitLine, alphabeticalLists: alphabeticalLists, fillColumn: fillColumn)
2223 }
2324 @State private var selectedFile: String?
2425 @State private var query = ""
Sources/Orgstar/OrgstarApp.swift +2
@@ -154,6 +154,7 @@ struct SettingsView: View {
154154 @AppStorage("headingAfterSubtree") private var headingAfterSubtree = true
155155 @AppStorage("splitLine") private var splitLine = false
156156 @AppStorage("alphabeticalLists") private var alphabeticalLists = true
157 @AppStorage("fillColumn") private var fillColumn = 80
157158 @AppStorage("todoKeywords") private var todoKeywords = Preferences.defaultTodoKeywords
158159
159160 var body: some View {
@@ -184,6 +185,7 @@ struct SettingsView: View {
184185 Toggle("M-RET adds the new heading after the subtree", isOn: $headingAfterSubtree)
185186 Toggle("M-RET splits the line at the caret", isOn: $splitLine)
186187 Toggle("Lists can use letters (a. b. c.)", isOn: $alphabeticalLists)
188 Stepper("M-q fills to column \(fillColumn)", value: $fillColumn, in: 40...200)
187189 TextField("Default TODO keywords:", text: $todoKeywords)
188190 Text("For files without #+TODO, in #+TODO syntax. Takes effect when Orgstar restarts.")
189191 .font(.caption)
Sources/Orgstar/Preferences.swift +2 −2
@@ -11,10 +11,10 @@ enum Preferences {
1111 return OrgSettings.default.withTodoKeywords(line) ?? .default
1212 }
1313
14 static func options(tagsColumn: Int, headingAfterSubtree: Bool, splitLine: Bool, alphabeticalLists: Bool) -> EditingOptions {
14 static func options(tagsColumn: Int, headingAfterSubtree: Bool, splitLine: Bool, alphabeticalLists: Bool, fillColumn: Int) -> EditingOptions {
1515 EditingOptions(
1616 tagsColumn: tagsColumn, insertHeadingRespectContent: headingAfterSubtree,
17 metaReturnMaySplitLine: splitLine, listAllowAlphabetical: alphabeticalLists
17 metaReturnMaySplitLine: splitLine, listAllowAlphabetical: alphabeticalLists, fillColumn: fillColumn
1818 )
1919 }
2020}