1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-09-11 17:15:34 +03:00

Compare commits

...

11 Commits

Author SHA1 Message Date
Tae Won Ha
ef0b105056
Delete non-live-resizing code 2024-05-31 23:03:40 +09:00
Tae Won Ha
8d953fa0a0
Xcode shenanigans 2024-05-31 22:35:30 +09:00
Tae Won Ha
e22bd2d755
Xcode shenanigans 2024-05-31 22:33:32 +09:00
Tae Won Ha
fd63e8dace
Update appcast 2024-05-31 22:25:28 +09:00
Tae Won Ha
5aa941e6cb
Bump version to v0.47.2-20240531.221846 2024-05-31 22:18:46 +09:00
Tae Won Ha
ab3efd4a44
Update appcast 2024-05-31 22:16:51 +09:00
Tae Won Ha
79862b02e5
Bump version to snapshot/20240531.221229 2024-05-31 22:12:30 +09:00
Tae Won Ha
dc99ead2ef
Adapt API generation script 2024-05-31 22:11:23 +09:00
Tae Won Ha
aabd13c6ef
swiftformat 2024-05-31 17:12:54 +09:00
Tae Won Ha
36a18ed474
Always use live resizing 2024-05-31 17:11:37 +09:00
Tae Won Ha
071369cdc3
Make live resizing default behavior 2024-05-31 16:49:53 +09:00
28 changed files with 83 additions and 168 deletions

View File

@ -70,7 +70,7 @@ final class AttributesRunDrawer {
context.setFillColor(ColorUtils.cgColorIgnoringAlpha(run.attrs.effectiveForeground))
fontGlyphRuns.forEach { run in
for run in fontGlyphRuns {
CTFontDrawGlyphs(run.font, run.glyphs, run.positions, run.glyphs.count, context)
}
@ -189,7 +189,7 @@ final class AttributesRunDrawer {
self.descent = CTFontGetDescent(self.font)
self.underlinePosition = CTFontGetUnderlinePosition(self.font)
self.underlineThickness = CTFontGetUnderlineThickness(self.font)
self.typesetter.clearCache()
}
}

View File

@ -168,7 +168,8 @@ public extension NvimView {
.map { tabs in tabs.map(\.windows).flatMap { $0 } }
.flatMapCompletable { [weak self] wins -> Completable in
if let win = wins.first(where: { $0.buffer == buffer }) {
guard let completable = self?.api.nvimSetCurrentWin(window: RxNeovimApi.Window(win.handle))
guard let completable = self?.api
.nvimSetCurrentWin(window: RxNeovimApi.Window(win.handle))
else {
throw RxNeovimApi.Error.exception(message: "Could not set current win")
}

View File

@ -8,18 +8,13 @@ import Cocoa
extension NvimView {
override public func viewDidMoveToWindow() { self.window?.colorSpace = colorSpace }
override public func draw(_ dirtyUnionRect: NSRect) {
override public func draw(_: NSRect) {
guard self.ugrid.hasData else { return }
guard let context = NSGraphicsContext.current?.cgContext else { return }
context.saveGState()
defer { context.restoreGState() }
if self.inLiveResize || self.currentlyResizing, !self.usesLiveResize {
self.drawResizeInfo(in: context, with: dirtyUnionRect)
return
}
if self.isCurrentlyPinching {
self.drawPinchImage(in: context)
return
@ -145,37 +140,6 @@ extension NvimView {
context.restoreGState()
}
private func drawResizeInfo(
in context: CGContext, with dirtyUnionRect: CGRect
) {
context.setFillColor(self.theme.background.cgColor)
context.fill(dirtyUnionRect)
let boundsSize = self.bounds.size
let emojiSize = self.currentEmoji.size(withAttributes: emojiAttrs)
let emojiX = (boundsSize.width - emojiSize.width) / 2
let emojiY = (boundsSize.height - emojiSize.height) / 2
let discreteSize = self.discreteSize(size: boundsSize)
let displayStr = "\(discreteSize.width) × \(discreteSize.height)"
let infoStr = "(You can turn on live resizing feature in the Advanced preferences)"
var (sizeAttrs, infoAttrs) = (resizeTextAttrs, infoTextAttrs)
sizeAttrs[.foregroundColor] = self.theme.foreground
infoAttrs[.foregroundColor] = self.theme.foreground
let size = displayStr.size(withAttributes: sizeAttrs)
let (x, y) = ((boundsSize.width - size.width) / 2, emojiY - size.height)
let infoSize = infoStr.size(withAttributes: infoAttrs)
let (infoX, infoY) = ((boundsSize.width - infoSize.width) / 2, y - size.height - 5)
self.currentEmoji.draw(at: CGPoint(x: emojiX, y: emojiY), withAttributes: emojiAttrs)
displayStr.draw(at: CGPoint(x: x, y: y), withAttributes: sizeAttrs)
infoStr.draw(at: CGPoint(x: infoX, y: infoY), withAttributes: infoAttrs)
}
private func drawPinchImage(in context: CGContext) {
context.interpolationQuality = .none

View File

@ -22,16 +22,6 @@ extension NvimView {
return
}
if self.usesLiveResize {
self.resizeNeoVimUi(to: newSize)
return
}
if self.inLiveResize || self.currentlyResizing { return }
// There can be cases where the frame is resized not by live resizing,
// eg when the window is resized by window management tools.
// Thus, we make sure that the resize call is made when this happens.
self.resizeNeoVimUi(to: newSize)
}
@ -48,8 +38,6 @@ extension NvimView {
}
func resizeNeoVimUi(to size: CGSize) {
self.currentEmoji = self.randomEmoji()
let discreteSize = self.discreteSize(size: size)
if discreteSize == self.ugrid.size {
self.markForRenderWholeView()

View File

@ -101,10 +101,10 @@ public extension NvimView {
public var visualBackground = NSColor.selectedContentBackgroundColor
public var directoryForeground = NSColor.textColor
public var tabForeground = NSColor.textColor
public var tabBackground = NSColor.textBackgroundColor
public init() {}
public init(_ values: [Int]) {
@ -121,8 +121,8 @@ public extension NvimView {
self.directoryForeground = values[4] < 0
? Theme.default.directoryForeground
: color(values[4])
self.tabBackground = values[5] < 0 ? Theme.default.background : color(values[5])
self.tabForeground = values[6] < 0 ? Theme.default.foreground : color(values[6])
self.tabBackground = values[5] < 0 ? Theme.default.background : color(values[5])
self.tabForeground = values[6] < 0 ? Theme.default.foreground : color(values[6])
}
public var description: String {

View File

@ -360,7 +360,9 @@ extension NvimView {
}
private func flush() {
for region in self.regionsToFlush { self.markForRender(region: region) }
for region in self.regionsToFlush {
self.markForRender(region: region)
}
self.regionsToFlush.removeAll(keepingCapacity: true)
}

View File

@ -70,8 +70,6 @@ public final class NvimView: NSView, NSUserInterfaceValidations, NSTextInputClie
public internal(set) var theme = Theme.default
public var usesLiveResize = false
public var usesLigatures = false {
didSet {
self.drawer.usesLigatures = self.usesLigatures
@ -312,7 +310,6 @@ public final class NvimView: NSView, NSUserInterfaceValidations, NSTextInputClie
var pinchBitmap: NSBitmapImageRep?
var currentlyResizing = false
var currentEmoji = "😎"
var _font = NvimView.defaultFont
var _cwd = URL(fileURLWithPath: NSHomeDirectory())

View File

@ -11,7 +11,7 @@ final class Typesetter {
func clearCache() {
self.ctRunsCache.clear()
}
func fontGlyphRunsWithLigatures(
nvimUtf16Cells: [[Unicode.UTF16.CodeUnit]],
startColumn: Int,
@ -264,7 +264,9 @@ final class Typesetter {
let element = pointer[k]
if element.isEmpty { continue }
for j in 0..<element.count { resultPtr[i + j] = element[j] }
for j in 0..<element.count {
resultPtr[i + j] = element[j]
}
i = i + element.count
}

View File

@ -416,10 +416,10 @@ if __name__ == '__main__':
nvim_path = os.environ['NVIM_PATH'] if 'NVIM_PATH' in os.environ else 'nvim'
nvim_output = subprocess.run([nvim_path, '--api-info'], stdout=subprocess.PIPE)
api = msgpack.unpackb(nvim_output.stdout)
api = msgpack.unpackb(nvim_output.stdout, raw=False)
version = parse_version(api['version'])
functions = api['functions'] #[f for f in api['functions'] if 'deprecated_since' not in f]
functions = api['functions']
body = '\n'.join([parse_function(f) for f in functions])
result = extension_template.substitute(

View File

@ -1126,7 +1126,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 20240528.171603;
CURRENT_PROJECT_VERSION = 20240531.221846;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_MODULE_VERIFIER = YES;
@ -1192,7 +1192,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 20240528.171603;
CURRENT_PROJECT_VERSION = 20240531.221846;
DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_MODULE_VERIFIER = YES;
@ -1225,7 +1225,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 20240528.171603;
CURRENT_PROJECT_VERSION = 20240531.221846;
DEFINES_MODULE = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
IBC_MODULE = VimR;
@ -1250,7 +1250,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 20240528.171603;
CURRENT_PROJECT_VERSION = 20240531.221846;
DEFINES_MODULE = YES;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
IBC_MODULE = VimR;

View File

@ -13,10 +13,6 @@ final class AdvancedPrefReducer: ReducerType {
var state = pair.state
switch pair.action {
case let .setUseLiveResize(value):
state.mainWindowTemplate.useLiveResize = value
state.mainWindows.keys.forEach { state.mainWindows[$0]?.useLiveResize = value }
case let .setUseInteractiveZsh(value):
state.mainWindowTemplate.useInteractiveZsh = value

View File

@ -13,7 +13,6 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
enum Action {
case setUseInteractiveZsh(Bool)
case setUseSnapshotUpdate(Bool)
case setUseLiveResize(Bool)
case setNvimBinary(String)
}
@ -30,7 +29,6 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
self.useInteractiveZsh = state.mainWindowTemplate.useInteractiveZsh
self.useSnapshotUpdate = state.useSnapshotUpdate
self.useLiveResize = state.mainWindowTemplate.useLiveResize
self.nvimBinary = state.mainWindowTemplate.nvimBinary
super.init(frame: .zero)
@ -44,12 +42,10 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
if self.useInteractiveZsh != state.mainWindowTemplate.useInteractiveZsh
|| self.nvimBinary != state.mainWindowTemplate.nvimBinary
|| self.useSnapshotUpdate != state.useSnapshotUpdate
|| self.useLiveResize != state.mainWindowTemplate.useLiveResize
{
self.useInteractiveZsh = state.mainWindowTemplate.useInteractiveZsh
self.nvimBinary = state.mainWindowTemplate.nvimBinary
self.useSnapshotUpdate = state.useSnapshotUpdate
self.useLiveResize = state.mainWindowTemplate.useLiveResize
self.updateViews()
}
@ -62,12 +58,10 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
private var useInteractiveZsh: Bool
private var useSnapshotUpdate: Bool
private var useLiveResize: Bool
private var nvimBinary: String = ""
private let useInteractiveZshCheckbox = NSButton(forAutoLayout: ())
private let useSnapshotUpdateCheckbox = NSButton(forAutoLayout: ())
private let useLiveResizeCheckbox = NSButton(forAutoLayout: ())
private let nvimBinaryField = NSTextField(forAutoLayout: ())
@available(*, unavailable)
@ -82,7 +76,6 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
private func updateViews() {
self.useSnapshotUpdateCheckbox.boolState = self.useSnapshotUpdate
self.useInteractiveZshCheckbox.boolState = self.useInteractiveZsh
self.useLiveResizeCheckbox.boolState = self.useLiveResize
self.nvimBinaryField.stringValue = self.nvimBinary
}
@ -115,18 +108,6 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
of VimR in no time!
"""#)
let useLiveResize = self.useLiveResizeCheckbox
self.configureCheckbox(
button: useLiveResize,
title: "Use Live Window Resizing",
action: #selector(AdvancedPref.useLiveResizeAction(_:))
)
let useLiveResizeInfo = self.infoTextField(markdown: #"""
The Live Resizing is yet experimental. You may experience some issues.\
If you do, please report them at [GitHub](https://github.com/qvacua/vimr/issues).
"""#)
let nvimBinaryTitle = self.titleTextField(title: "NeoVim Binary:")
let nvimBinaryField = self.nvimBinaryField
@ -136,8 +117,6 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
self.addSubview(useSnapshotUpdateInfo)
self.addSubview(useInteractiveZsh)
self.addSubview(useInteractiveZshInfo)
self.addSubview(useLiveResize)
self.addSubview(useLiveResizeInfo)
self.addSubview(nvimBinaryTitle)
self.addSubview(nvimBinaryField)
@ -145,30 +124,24 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
paneTitle.autoPinEdge(toSuperviewEdge: .left, withInset: 18)
paneTitle.autoPinEdge(toSuperviewEdge: .right, withInset: 18, relation: .greaterThanOrEqual)
useLiveResize.autoPinEdge(.top, to: .bottom, of: paneTitle, withOffset: 18)
useLiveResize.autoPinEdge(toSuperviewEdge: .left, withInset: 18)
useLiveResizeInfo.autoPinEdge(.top, to: .bottom, of: useLiveResize, withOffset: 5)
useLiveResizeInfo.autoPinEdge(.left, to: .left, of: useLiveResize)
useSnapshotUpdate.autoPinEdge(.top, to: .bottom, of: useLiveResizeInfo, withOffset: 18)
useSnapshotUpdate.autoPinEdge(.left, to: .left, of: useLiveResize, withOffset: 5)
useSnapshotUpdate.autoPinEdge(.top, to: .bottom, of: paneTitle, withOffset: 18)
useSnapshotUpdate.autoPinEdge(.left, to: .left, of: paneTitle)
useSnapshotUpdateInfo.autoPinEdge(.top, to: .bottom, of: useSnapshotUpdate, withOffset: 5)
useSnapshotUpdateInfo.autoPinEdge(.left, to: .left, of: useSnapshotUpdate)
useInteractiveZsh.autoPinEdge(.top, to: .bottom, of: useSnapshotUpdateInfo, withOffset: 18)
useInteractiveZsh.autoPinEdge(.left, to: .left, of: useLiveResize, withOffset: 5)
useInteractiveZsh.autoPinEdge(.left, to: .left, of: useSnapshotUpdate)
useInteractiveZshInfo.autoPinEdge(.top, to: .bottom, of: useInteractiveZsh, withOffset: 5)
useInteractiveZshInfo.autoPinEdge(.left, to: .left, of: useInteractiveZsh)
nvimBinaryTitle.autoPinEdge(.top, to: .bottom, of: useInteractiveZshInfo, withOffset: 18)
nvimBinaryTitle.autoPinEdge(.left, to: .left, of: useLiveResize, withOffset: 5)
nvimBinaryTitle.autoPinEdge(.left, to: .left, of: useSnapshotUpdate)
// nvimBinaryTitle.autoAlignAxis(.baseline, toSameAxisOf: nvimBinaryField)
nvimBinaryField.autoPinEdge(.top, to: .bottom, of: useInteractiveZshInfo, withOffset: 18)
nvimBinaryField.autoPinEdge(.left, to: .right, of: nvimBinaryTitle, withOffset: 5)
nvimBinaryField.autoPinEdge(.left, to: .right, of: nvimBinaryTitle)
nvimBinaryField.autoPinEdge(toSuperviewEdge: .right, withInset: 18)
nvimBinaryField.autoSetDimension(.height, toSize: 20, relation: .greaterThanOrEqual)
NotificationCenter.default.addObserver(
@ -182,10 +155,6 @@ final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
// MARK: - Actions
extension AdvancedPref {
@objc func useLiveResizeAction(_ sender: NSButton) {
self.emit(.setUseLiveResize(sender.boolState))
}
@objc func useInteractiveZshAction(_ sender: NSButton) {
self.emit(.setUseInteractiveZsh(sender.boolState))
}

View File

@ -350,9 +350,9 @@ extension AppDelegate {
self.emit(.openInKeyWindow(config: config))
case .separateWindows:
urls.forEach {
for url in urls {
let config = OpenConfig(
urls: [$0],
urls: [url],
cwd: cwd,
cliPipePath: pipePath,
nvimArgs: nil,

View File

@ -110,7 +110,7 @@ final class Context: ReduxContext {
}
private func cleanUpAppState() {
self.state.mainWindows.keys.forEach { uuid in
for uuid in self.state.mainWindows.keys {
self.state.mainWindows[uuid]?.cwdToSet = nil
self.state.mainWindows[uuid]?.currentBufferToSet = nil
self.state.mainWindows[uuid]?.viewToBeFocused = nil

View File

@ -129,7 +129,7 @@ final class FuzzySearchService {
let foldersToScan = try context.fetch(req)
// We use the ID of objects since we reset in scanScore(), which resets all properties of
// foldersToScan after first folderToScan.
foldersToScan.forEach { folder in
for folder in foldersToScan {
self.scanScore(
matcher: matcher,
folderId: folder.objectID,
@ -331,7 +331,9 @@ final class FuzzySearchService {
return
}
for child in folder.children ?? [] { ctx.delete(child) }
for child in folder.children ?? [] {
ctx.delete(child)
}
folder.needsScanChildren = true
self.log.trace("Marked \(folder.url!) for scanning")

View File

@ -1224,7 +1224,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.47.1</string>
<string>0.47.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
@ -1241,7 +1241,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>20240528.171603</string>
<string>20240531.221846</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>

View File

@ -176,9 +176,9 @@ final class MainWindow: NSObject,
self.usesTheme = state.appearance.usesTheme
state.orderedTools.forEach { toolId in
for toolId in state.orderedTools {
guard let tool = tools[toolId] else {
return
continue
}
self.workspace.append(
@ -187,7 +187,7 @@ final class MainWindow: NSObject,
)
}
self.tools.forEach { toolId, toolContainer in
for (toolId, toolContainer) in self.tools {
if state.tools[toolId]?.open == true {
toolContainer.toggle()
}
@ -207,7 +207,6 @@ final class MainWindow: NSObject,
self.addViews(withTopInset: 0)
self.neoVimView.usesLiveResize = state.useLiveResize
self.neoVimView.delegate = self
self.updateNeoVimAppearance()
@ -428,10 +427,6 @@ final class MainWindow: NSObject,
self.neoVimView.isLeftOptionMeta = state.isLeftOptionMeta
self.neoVimView.isRightOptionMeta = state.isRightOptionMeta
if self.neoVimView.usesLiveResize != state.useLiveResize {
self.neoVimView.usesLiveResize = state.useLiveResize
}
if self.defaultFont != state.appearance.font
|| self.linespacing != state.appearance.linespacing
|| self.characterspacing != state.appearance.characterspacing
@ -482,9 +477,9 @@ final class MainWindow: NSObject,
tabsTheme.selectedForegroundColor = self.theme.highlightForeground
tabsTheme.selectedBackgroundColor = self.theme.highlightBackground
tabsTheme.tabBackgroundColor = self.theme.tabBackground;
tabsTheme.tabForegroundColor = self.theme.tabForeground;
tabsTheme.tabBackgroundColor = self.theme.tabBackground
tabsTheme.tabForegroundColor = self.theme.tabForeground
tabsTheme.tabSelectedIndicatorColor = self.theme.highlightForeground

View File

@ -53,7 +53,7 @@ final class MainWindowReducer: ReducerType {
case let .setToolsState(tools):
state.orderedTools = []
tools.forEach { toolPair in
for toolPair in tools {
let toolId = toolPair.0
let tool = toolPair.1

View File

@ -202,17 +202,17 @@ final class OpenQuicklyWindow: NSObject,
let newUrls = urlsToMonitor.subtracting(currentUrls)
let obsoleteUrls = currentUrls.subtracting(urlsToMonitor)
newUrls.forEach { url in
for url in newUrls {
self.log.info("Adding \(url) and its service.")
guard let service = try? FuzzySearchService(root: url) else {
self.log.error("Could not create FileService for \(url)")
return
continue
}
self.searchServicePerRootUrl[url] = service
}
obsoleteUrls.forEach { url in
for url in obsoleteUrls {
self.log.info("Removing \(url) and its service.")
self.searchServicePerRootUrl.removeValue(forKey: url)
}

View File

@ -21,7 +21,7 @@ final class PrefWindow: NSObject,
weak var shortcutService: ShortcutService? {
didSet {
let shortcutsPref = self.panes.first { pane in pane is ShortcutsPref } as? ShortcutsPref
shortcutsPref?.shortcutService = shortcutService
shortcutsPref?.shortcutService = self.shortcutService
}
}

View File

@ -103,7 +103,7 @@ final class ShortcutsPref: PrefPane,
return
}
legacyDefaultShortcuts.forEach { id in
for id in legacyDefaultShortcuts {
let shortcut: Shortcut? = if let dict = self.shortcutsUserDefaults?
.value(forKey: id) as? [String: Any]
{
@ -121,7 +121,7 @@ final class ShortcutsPref: PrefPane,
private func initShortcutUserDefaults() {
let transformer = ShortcutValueTransformer.shared
defaultShortcuts.forEach { id, shortcut in
for (id, shortcut) in defaultShortcuts {
if self.shortcutsUserDefaults?.value(forKey: id) == nil {
let shortcutData = transformer.reverseTransformedValue(shortcut) as? NSData
self.shortcutsUserDefaults?.set(shortcutData, forKey: id)

View File

@ -304,8 +304,6 @@ extension MainWindow {
var fileBrowserShowHidden = false
var useLiveResize = false
var isTemporarySession = false
var customMarkdownProcessor = ""
@ -381,10 +379,7 @@ extension MainWindow {
)
self.nvimBinary = try container.decodeIfPresent(String.self, forKey: .nvimBinary) ?? State
.default.nvimBinary
self.useLiveResize = try container.decode(
forKey: .useLiveResize,
default: State.default.useLiveResize
)
if let frameRawValue = try container.decodeIfPresent(String.self, forKey: .frame) {
self.frame = NSRectFromString(frameRawValue)
} else {
@ -436,7 +431,7 @@ extension MainWindow {
return (tool, value)
}
let missingTools = MainWindow.Tools.all.subtracting(self.tools.keys)
missingTools.forEach { missingTool in
for missingTool in missingTools {
self.tools[missingTool] = MainWindow.State.defaultTools[missingTool]!
}
@ -457,7 +452,6 @@ extension MainWindow {
try container.encode(self.isAllToolsVisible, forKey: .allToolsVisible)
try container.encode(self.isToolButtonsVisible, forKey: .toolButtonsVisible)
try container.encode(NSStringFromRect(self.frame), forKey: .frame)
try container.encode(self.useLiveResize, forKey: .useLiveResize)
try container.encode(self.customMarkdownProcessor, forKey: .customMarkdownProcessor)
try container.encode(self.isLeftOptionMeta, forKey: .isLeftOptionMeta)
try container.encode(self.isRightOptionMeta, forKey: .isRightOptionMeta)

View File

@ -45,8 +45,8 @@ struct Theme: CustomStringConvertible {
var highlightBackground = NSColor.selectedContentBackgroundColor
var directoryForeground = NSColor.textColor
var tabForeground = NSColor.selectedMenuItemTextColor
var tabForeground = NSColor.selectedMenuItemTextColor
var tabBackground = NSColor.selectedContentBackgroundColor
var cssColor = NSColor(hex: "24292e")!
@ -80,10 +80,10 @@ struct Theme: CustomStringConvertible {
self.highlightBackground = nvimTheme.visualBackground
self.directoryForeground = nvimTheme.directoryForeground
self.tabBackground = nvimTheme.tabBackground
self.tabForeground = nvimTheme.tabForeground
self.tabBackground = nvimTheme.tabBackground
self.tabForeground = nvimTheme.tabForeground
self.updateCssColors(additionalColorDict)
}

View File

@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.47.1</string>
<string>0.47.2</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>20240528.171603</string>
<string>20240531.221846</string>
</dict>
</plist>

View File

@ -6,25 +6,27 @@
<description>Most recent changes with links to updates for VimR.</description>
<language>en</language>
<item>
<title>v0.47.1-20240528.171603</title>
<title>v0.47.2-20240531.221846</title>
<link>https://twitter.com/vimrefined</link>
<sparkle:version>20240528.171603</sparkle:version>
<sparkle:shortVersionString>v0.47.1</sparkle:shortVersionString>
<sparkle:version>20240531.221846</sparkle:version>
<sparkle:shortVersionString>v0.47.2</sparkle:shortVersionString>
<description><![CDATA[
<ul>
<li>Neovim 0.10.0 😀<ul>
<li>0.47.0 did not contain the generated API methods for Neovim 0.10.0...</li>
<li>Always use live resizing</li>
<li>Dependencies updates:<ul>
<li>sparkle-project/Sparkle@2.7.2</li>
<li>ReactiveX/RxSwift@6.7.1</li>
</ul>
</li>
</ul>
]]></description>
<releaseNotesLink>
https://github.com/qvacua/vimr/releases/tag/v0.47.1-20240528.171603
https://github.com/qvacua/vimr/releases/tag/v0.47.2-20240531.221846
</releaseNotesLink>
<pubDate>2024-05-28T17:19:47.931984</pubDate>
<pubDate>2024-05-31T22:25:28.381821</pubDate>
<minimumSystemVersion>12.0</minimumSystemVersion>
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.47.1-20240528.171603/VimR-v0.47.1.tar.bz2"
sparkle:edSignature="iTLOhPvCHlMTpFMVo77oCiUT8EYKdbUyMeV15xWVUjnc/tB62utjmM7mQvBcUhERbKZWKp7fGPR6frNdvXNNBQ==" length="19379938"
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.47.2-20240531.221846/VimR-v0.47.2.tar.bz2"
sparkle:edSignature="sYb/KT0vh65Q4DlTe9hKmWu8bGeINujGEjF0Ozsl6MQlwt3wjKJkSZjif/stJE9vHDfr8ggDxhxCvWgt47aoBQ==" length="19388603"
type="application/octet-stream"/>
</item>
</channel>

View File

@ -6,25 +6,27 @@
<description>Most recent changes with links to updates for VimR.</description>
<language>en</language>
<item>
<title>v0.47.1-20240528.171603</title>
<title>v0.47.2-20240531.221846</title>
<link>https://twitter.com/vimrefined</link>
<sparkle:version>20240528.171603</sparkle:version>
<sparkle:shortVersionString>v0.47.1</sparkle:shortVersionString>
<sparkle:version>20240531.221846</sparkle:version>
<sparkle:shortVersionString>v0.47.2</sparkle:shortVersionString>
<description><![CDATA[
<ul>
<li>Neovim 0.10.0 😀<ul>
<li>0.47.0 did not contain the generated API methods for Neovim 0.10.0...</li>
<li>Always use live resizing</li>
<li>Dependencies updates:<ul>
<li>sparkle-project/Sparkle@2.7.2</li>
<li>ReactiveX/RxSwift@6.7.1</li>
</ul>
</li>
</ul>
]]></description>
<releaseNotesLink>
https://github.com/qvacua/vimr/releases/tag/v0.47.1-20240528.171603
https://github.com/qvacua/vimr/releases/tag/v0.47.2-20240531.221846
</releaseNotesLink>
<pubDate>2024-05-28T17:19:47.931984</pubDate>
<pubDate>2024-05-31T22:25:28.381821</pubDate>
<minimumSystemVersion>12.0</minimumSystemVersion>
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.47.1-20240528.171603/VimR-v0.47.1.tar.bz2"
sparkle:edSignature="iTLOhPvCHlMTpFMVo77oCiUT8EYKdbUyMeV15xWVUjnc/tB62utjmM7mQvBcUhERbKZWKp7fGPR6frNdvXNNBQ==" length="19379938"
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.47.2-20240531.221846/VimR-v0.47.2.tar.bz2"
sparkle:edSignature="sYb/KT0vh65Q4DlTe9hKmWu8bGeINujGEjF0Ozsl6MQlwt3wjKJkSZjif/stJE9vHDfr8ggDxhxCvWgt47aoBQ==" length="19388603"
type="application/octet-stream"/>
</item>
</channel>

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -Eeuo pipefail
readonly clean=${clean:?"true or false"}
clean=${clean:?"true or false"}
readonly use_committed_nvim=${use_committed_nvim:?"If true, checkout the committed version of nvim, otherwise use the workspace."}
main() {

View File

@ -1,5 +1,6 @@
# Next
* Always use live resizing
* Dependencies updates:
- sparkle-project/Sparkle@2.7.2
- ReactiveX/RxSwift@6.7.1