1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-12-25 06:43:24 +03:00

Merge branch 'develop' into update-neovim

Conflicts:
	NvimServer
	NvimView/Sources/NvimView/NvimAutoCommandEvent.generated.swift
	NvimView/Sources/NvimView/NvimCursorModeShape.generated.swift
This commit is contained in:
Tae Won Ha 2022-06-26 19:04:40 +02:00
commit 69e650b16f
No known key found for this signature in database
GPG Key ID: E40743465B5B8B44
85 changed files with 173 additions and 164 deletions

View File

@ -38,21 +38,6 @@ then continuously invoke the `build_nvimserver_for_local_dev` script.
## How to release
### NvimServer
* Tag with the name `nvimserver-x.y.z-n`. GitHub actions will build the `x86_64` version,
create a release and upload it.
* Build the `arm64` version locally and upload it:
```bash
clean=true build_libnvim=true ./NvimServer/bin/build_nvimserver.sh
```
* Build a universal binary by the following and upload the artefact:
```bash
tag=nvimserver-x.y.z-n ./NvimServer/bin/build_release.sh
```
### VimR
* Set a new version of VimR via
```bash
is_snapshot=true ./bin/set_new_versions.sh # for snapshot or

View File

@ -3,7 +3,7 @@
import Foundation
public class GitUtils {
public final class GitUtils {
static func globalGitignoreFileUrl() -> URL? {
guard let path = shellCommandOutput(
"git config --get core.excludesFile",

View File

@ -3,7 +3,7 @@
import Foundation
public class Ignore {
public final class Ignore {
public static let defaultIgnoreFileNames = [".ignore", ".gitignore"]
public static let vcsFolderPattern = [".svn/", ".hg/", ".git/"]

View File

@ -5,7 +5,7 @@
import Cocoa
class KeyUtils {
final class KeyUtils {
static func isControlCode(key: String) -> Bool {
guard key.count == 1 else {
return false

View File

@ -1,4 +1,8 @@
<<<<<<< HEAD
// Auto generated for nvim v0.8.0-dev
=======
// Auto generated for nvim v0.7.2
>>>>>>> develop
// See bin/generate_autocmds.py
enum NvimAutoCommandEvent: Int {

View File

@ -25,7 +25,7 @@ public protocol NvimViewDelegate: AnyObject {
func isMenuItemKeyEquivalent(_: NSEvent) -> Bool
}
public class NvimView: NSView,
public final class NvimView: NSView,
UiBridgeConsumer,
NSUserInterfaceValidations,
NSTextInputClient

View File

@ -41,7 +41,7 @@ protocol UiBridgeConsumer: AnyObject {
func suspend()
}
class UiBridge {
final class UiBridge {
weak var consumer: UiBridgeConsumer?
init(uuid: UUID, config: NvimView.Config) {

View File

@ -53,7 +53,7 @@ git submodule update
xcode-select --install # install the Xcode command line tools, if you haven't already
brew bundle
code_sign=false use_carthage_cache=false ./bin/build_vimr.sh
clean=true notarize=false use_carthage_cache=false ./bin/build_vimr.sh
# VimR.app will be placed in ./build/Build/Products/Release/
```

View File

@ -11,7 +11,7 @@
import Cocoa
class DraggingSingleRowStackView: NSStackView {
final class DraggingSingleRowStackView: NSStackView {
var postDraggingHandler: ((NSStackView, NSView) -> Void)?
override func mouseDragged(with event: NSEvent) {

View File

@ -5,7 +5,7 @@
import Cocoa
class HorizontalOnlyScrollView: NSScrollView {
final class HorizontalOnlyScrollView: NSScrollView {
// Needed to be able to override scrollWheel(with:)
// https://stackoverflow.com/a/31201614
override static var isCompatibleWithResponsiveScrolling: Bool { true }

View File

@ -13,7 +13,7 @@ struct TabPosition: OptionSet {
let rawValue: Int
}
class Tab<Rep: TabRepresentative>: NSView {
final class Tab<Rep: TabRepresentative>: NSView {
var title: String { self.tabRepresentative.title }
var tabRepresentative: Rep {

View File

@ -11,7 +11,7 @@ public protocol TabRepresentative: Hashable {
var isSelected: Bool { get }
}
public class TabBar<Rep: TabRepresentative>: NSView {
public final class TabBar<Rep: TabRepresentative>: NSView {
public typealias TabCallback = (Int, Rep, [Rep]) -> Void
public var theme: Theme { self._theme }

View File

@ -1127,7 +1127,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 20220618.161750;
CURRENT_PROJECT_VERSION = 20220626.182832;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@ -1188,7 +1188,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 20220618.161750;
CURRENT_PROJECT_VERSION = 20220626.182832;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@ -1217,7 +1217,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 20220618.161750;
CURRENT_PROJECT_VERSION = 20220626.182832;
DEFINES_MODULE = YES;
IBC_MODULE = VimR;
INFOPLIST_FILE = VimR/Info.plist;
@ -1239,7 +1239,7 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 20220618.161750;
CURRENT_PROJECT_VERSION = 20220626.182832;
DEFINES_MODULE = YES;
IBC_MODULE = VimR;
INFOPLIST_FILE = VimR/Info.plist;

View File

@ -57,6 +57,16 @@
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "4BEBA5041CFF374B00673FDF"
BuildableName = "VimR.app"
BlueprintName = "VimR"
ReferencedContainer = "container:VimR.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">

View File

@ -5,7 +5,7 @@
import Foundation
class AdvancedPrefReducer: ReducerType {
final class AdvancedPrefReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = AdvancedPref.Action

View File

@ -7,7 +7,7 @@ import Cocoa
import PureLayout
import RxSwift
class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
final class AdvancedPref: PrefPane, UiComponent, NSTextFieldDelegate {
typealias StateType = AppState
enum Action {

View File

@ -14,7 +14,7 @@ import Sparkle
let debugMenuItemIdentifier = NSUserInterfaceItemIdentifier("debug-menu-item")
class UpdaterDelegate: NSObject, SPUUpdaterDelegate {
final class UpdaterDelegate: NSObject, SPUUpdaterDelegate {
var useSnapshotChannel = false
func feedURLString(for _: SPUUpdater) -> String? {
@ -27,7 +27,7 @@ class UpdaterDelegate: NSObject, SPUUpdaterDelegate {
}
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDelegate {
final class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDelegate {
struct OpenConfig {
var urls: [URL]
var cwd: URL

View File

@ -5,7 +5,7 @@
import Foundation
class AppDelegateReducer: ReducerType {
final class AppDelegateReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = AppDelegate.Action

View File

@ -8,7 +8,9 @@ import NvimView
import PureLayout
import RxSwift
class AppearancePref: PrefPane, NSComboBoxDelegate, NSControlTextEditingDelegate, NSFontChanging {
final class AppearancePref: PrefPane, NSComboBoxDelegate, NSControlTextEditingDelegate,
NSFontChanging
{
typealias StateType = AppState
enum Action {

View File

@ -5,7 +5,7 @@
import Foundation
class AppearancePrefReducer: ReducerType {
final class AppearancePrefReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = AppearancePref.Action

View File

@ -6,7 +6,7 @@
import Cocoa
import Sparkle
class Application: NSApplication {
final class Application: NSApplication {
override init() {
setPressAndHoldSetting()
super.init()

View File

@ -9,7 +9,7 @@ import NvimView
import PureLayout
import RxSwift
class BuffersList: NSView,
final class BuffersList: NSView,
UiComponent,
NSTableViewDataSource,
NSTableViewDelegate,

View File

@ -5,7 +5,7 @@
import Foundation
class BuffersListReducer: ReducerType {
final class BuffersListReducer: ReducerType {
typealias StateType = MainWindow.State
typealias ActionType = UuidAction<BuffersList.Action>

View File

@ -12,7 +12,7 @@ extension ReduxTypes {
typealias ActionType = AnyAction
}
class Context: ReduxContext {
final class Context: ReduxContext {
// The following should only be used when Cmd-Q'ing
func savePrefs() { self.prefMiddleware.applyPref(from: self.state) }

View File

@ -8,7 +8,7 @@ import CoreData
import Foundation
import os
class CoreDataStack {
final class CoreDataStack {
enum Error: Swift.Error {
case noCacheFolder
case pathDoesNotExit

View File

@ -5,7 +5,7 @@
import Cocoa
class CssUtils {
final class CssUtils {
static let cssOverridesTemplate: String = try! String(
contentsOf: Resources.cssOverridesTemplateUrl
)

View File

@ -6,7 +6,7 @@
import Foundation
import RxSwift
class Debouncer<T> {
final class Debouncer<T> {
let observable: Observable<T>
init(interval: RxTimeInterval) {

View File

@ -10,7 +10,7 @@ import PureLayout
import RxSwift
import Workspace
class FileBrowser: NSView,
final class FileBrowser: NSView,
UiComponent
{
typealias StateType = MainWindow.State

View File

@ -5,7 +5,7 @@
import Foundation
class FileBrowserReducer: ReducerType {
final class FileBrowserReducer: ReducerType {
typealias StateType = MainWindow.State
typealias ActionType = UuidAction<FileBrowser.Action>

View File

@ -8,7 +8,7 @@ import EonilFSEvents
import Foundation
import os
class FileMonitor {
final class FileMonitor {
static let fileSystemEventsLatency = 1.0
private(set) var urlToMonitor = FileUtils.userHomeUrl

View File

@ -11,7 +11,7 @@ import os
import PureLayout
import RxSwift
class FileOutlineView: NSOutlineView,
final class FileOutlineView: NSOutlineView,
UiComponent,
NSOutlineViewDelegate,
ThemedView
@ -495,7 +495,7 @@ extension FileOutlineView {
}
}
class Node: NSObject, Comparable {
final class Node: NSObject, Comparable {
static func < (lhs: Node, rhs: Node) -> Bool { lhs.displayName < rhs.displayName }
@objc dynamic var url: URL

View File

@ -10,7 +10,7 @@ import Ignore
import os
import Misc
class FuzzySearchService {
final class FuzzySearchService {
typealias ScoredUrlsCallback = ([ScoredUrl]) -> Void
var root: URL {

View File

@ -7,7 +7,7 @@ import Cocoa
import PureLayout
import RxSwift
class GeneralPref: PrefPane, UiComponent, NSTextFieldDelegate {
final class GeneralPref: PrefPane, UiComponent, NSTextFieldDelegate {
typealias StateType = AppState
enum Action {

View File

@ -5,7 +5,7 @@
import Foundation
class GeneralPrefReducer: ReducerType {
final class GeneralPrefReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = GeneralPref.Action

View File

@ -6,7 +6,7 @@
import Commons
import Foundation
class HtmlPreviewMiddleware: MiddlewareType {
final class HtmlPreviewMiddleware: MiddlewareType {
static func selectFirstHtmlUrl(uuid: UUID) -> URL {
FileUtils.tempDir().appendingPathComponent("\(uuid)-select-first.html")
}

View File

@ -14,7 +14,7 @@ import Workspace
private let fileSystemEventsLatency = 1.0
class HtmlPreviewTool: NSView, UiComponent, WKNavigationDelegate {
final class HtmlPreviewTool: NSView, UiComponent, WKNavigationDelegate {
enum Action {
case selectHtmlFile(URL)
}

View File

@ -5,7 +5,7 @@
import Foundation
class HtmlPreviewReducer {
final class HtmlPreviewReducer {
static let basePath = "tools/html-preview"
static func serverUrl(baseUrl: URL, uuid: UUID) -> URL {

View File

@ -7,7 +7,7 @@ import Foundation
import os
import Swifter
class HttpServerMiddleware {
final class HttpServerMiddleware {
let htmlPreviewTool: HtmlPreviewToolMiddleware
let htmlPreviewMainWindow: HtmlPreviewMainWindowMiddleware
let markdownPreview: MarkdownPreviewMiddleware

View File

@ -6,7 +6,7 @@ import Foundation
import Ignore
import OrderedCollections
class IgnoreService {
final class IgnoreService {
var root: URL {
didSet {
self.rootIgnore = Ignore(base: self.root, parent: Ignore.globalGitignore(base: self.root))

View File

@ -6,7 +6,7 @@
import Cocoa
import PureLayout
class ImageAndTextTableCell: NSTableCellView {
final class ImageAndTextTableCell: NSTableCellView {
private let _textField = NSTextField(forAutoLayout: ())
private let _imageView = NSImageView(forAutoLayout: ())

View File

@ -1224,7 +1224,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.40.0</string>
<string>0.41.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
@ -1241,7 +1241,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>20220618.161750</string>
<string>20220626.182832</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.productivity</string>
<key>LSMinimumSystemVersion</key>

View File

@ -7,7 +7,7 @@ import Cocoa
import PureLayout
import RxSwift
class KeysPref: PrefPane, UiComponent, NSTextFieldDelegate {
final class KeysPref: PrefPane, UiComponent, NSTextFieldDelegate {
typealias StateType = AppState
enum Action {

View File

@ -5,7 +5,7 @@
import Foundation
class KeysPrefReducer: ReducerType {
final class KeysPrefReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = KeysPref.Action

View File

@ -11,7 +11,7 @@ import RxSwift
import Tabs
import Workspace
class MainWindow: NSObject,
final class MainWindow: NSObject,
UiComponent,
NSWindowDelegate,
NSUserInterfaceValidations,

View File

@ -5,7 +5,7 @@
import Foundation
class MainWindowReducer: ReducerType {
final class MainWindowReducer: ReducerType {
typealias StateType = MainWindow.State
typealias ActionType = UuidAction<MainWindow.Action>

View File

@ -7,7 +7,7 @@ import Down
import Foundation
import os
class MarkdownPreviewMiddleware {
final class MarkdownPreviewMiddleware {
let markdownTool: MarkdownToolMiddleware
let mainWindow: MainWindowMiddleware

View File

@ -7,7 +7,7 @@ import Cocoa
import Commons
import NvimView
class MarkdownPreviewReducer {
final class MarkdownPreviewReducer {
private static func previewState(
for uuid: UUID,
baseUrl: URL,

View File

@ -10,7 +10,7 @@ import PureLayout
import RxSwift
import WebKit
class MarkdownTool: NSView, UiComponent, WKNavigationDelegate {
final class MarkdownTool: NSView, UiComponent, WKNavigationDelegate {
enum Action {
case refreshNow
case reverseSearch(to: Position)

View File

@ -5,7 +5,7 @@
import Foundation
class MarkdownToolReducer: ReducerType {
final class MarkdownToolReducer: ReducerType {
typealias StateType = MainWindow.State
typealias ActionType = UuidAction<MarkdownTool.Action>

View File

@ -5,7 +5,7 @@
import Cocoa
class OpenQuicklyFileViewRow: NSTableRowView {
final class OpenQuicklyFileViewRow: NSTableRowView {
override func drawSelection(in dirtyRect: NSRect) {
if self.isSelected {
NSColor.selectedControlColor.set()

View File

@ -6,7 +6,7 @@
import Foundation
import RxSwift
class OpenQuicklyReducer: ReducerType {
final class OpenQuicklyReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = OpenQuicklyWindow.Action

View File

@ -10,7 +10,7 @@ import PureLayout
import RxCocoa
import RxSwift
class OpenQuicklyWindow: NSObject,
final class OpenQuicklyWindow: NSObject,
UiComponent,
NSWindowDelegate,
NSTextFieldDelegate,

View File

@ -7,7 +7,7 @@ import Cocoa
import DictionaryCoding
import os
class PrefMiddleware: MiddlewareType {
final class PrefMiddleware: MiddlewareType {
typealias StateType = AppState
typealias ActionType = AnyAction

View File

@ -1,7 +1,7 @@
//
// Created by Tae Won Ha on 2/27/17.
// Copyright (c) 2017 Tae Won Ha. All rights reserved.
//
/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import Cocoa

View File

@ -6,7 +6,7 @@
import Cocoa
import NvimView
class PrefUtils {
final class PrefUtils {
static func value<T>(from dict: [String: Any], for key: String) -> T? {
dict[key] as? T
}

View File

@ -7,7 +7,7 @@ import Cocoa
import PureLayout
import RxSwift
class PrefWindow: NSObject,
final class PrefWindow: NSObject,
UiComponent,
NSWindowDelegate,
NSTableViewDataSource, NSTableViewDelegate

View File

@ -5,7 +5,7 @@
import Foundation
class PrefWindowReducer: ReducerType {
final class PrefWindowReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = PrefWindow.Action

View File

@ -5,7 +5,7 @@
import Foundation
class Resources {
final class Resources {
static let resourceUrl = Bundle.main.resourceURL!
static let previewUrl = resourceUrl.appendingPathComponent("preview")

View File

@ -5,7 +5,7 @@
import Foundation
class RpcAppearanceEpic: EpicType {
final class RpcAppearanceEpic: EpicType {
typealias StateType = AppState
typealias ActionType = UuidAction<MainWindow.Action>
typealias EmitActionType = AppearancePref.Action

View File

@ -10,7 +10,7 @@ extension Observable {
func completableSubject() -> CompletableSubject<Element> { CompletableSubject(source: self) }
}
class CompletableSubject<T> {
final class CompletableSubject<T> {
func asObservable() -> Observable<T> { self.subject.asObservable() }
init(source: Observable<T>) {

View File

@ -40,7 +40,7 @@ protocol ReduxContextType {
/**
`typealias` `StateType` and `ActionType` either within the class definition or in an extension.
*/
class ReduxTypes: ReduxContextType {}
final class ReduxTypes: ReduxContextType {}
protocol ReducerType {
associatedtype StateType
@ -110,7 +110,7 @@ protocol UiComponent {
init(source: Observable<StateType>, emitter: ActionEmitter, state: StateType)
}
class ActionEmitter {
final class ActionEmitter {
var observable: Observable<ReduxTypes.ActionType> {
self.subject.asObservable().observe(on: self.scheduler)
}

View File

@ -5,7 +5,7 @@
import Cocoa
class ShortcutItem: NSObject, Comparable {
final class ShortcutItem: NSObject, Comparable {
static func < (lhs: ShortcutItem, rhs: ShortcutItem) -> Bool { lhs.title < rhs.title }
@objc dynamic var title: String

View File

@ -6,7 +6,7 @@
import Cocoa
import ShortcutRecorder
class ShortcutService {
final class ShortcutService {
func update(shortcuts: [Shortcut]) {
self.shortcuts = shortcuts
}

View File

@ -8,7 +8,7 @@ import PureLayout
import RxSwift
import ShortcutRecorder
class ShortcutsPref: PrefPane,
final class ShortcutsPref: PrefPane,
UiComponent,
NSOutlineViewDelegate,
RecorderControlDelegate

View File

@ -6,7 +6,7 @@
import Cocoa
import ShortcutRecorder
class ShortcutTableRow: NSTableRowView {
final class ShortcutTableRow: NSTableRowView {
init(withIdentifier identifier: String) {
super.init(frame: .zero)
self.identifier = NSUserInterfaceItemIdentifier(identifier)
@ -18,7 +18,7 @@ class ShortcutTableRow: NSTableRowView {
}
}
class ShortcutTableCell: NSTableCellView {
final class ShortcutTableCell: NSTableCellView {
static let font = NSFont.systemFont(ofSize: 13)
static let boldFont = NSFont.boldSystemFont(ofSize: 13)

View File

@ -12,7 +12,7 @@ protocol ThemedView: AnyObject {
var lastThemeMark: Token { get }
}
class ThemedTableRow: NSTableRowView {
final class ThemedTableRow: NSTableRowView {
weak var triangleView: NSButton?
var themeToken: Token
@ -32,7 +32,7 @@ class ThemedTableRow: NSTableRowView {
}
}
override open func drawBackground(in dirtyRect: NSRect) {
override func drawBackground(in dirtyRect: NSRect) {
if let cell = self.view(atColumn: 0) as? ThemedTableCell {
if cell.isDir {
cell.textField?.textColor
@ -62,7 +62,7 @@ class ThemedTableRow: NSTableRowView {
required init?(coder _: NSCoder) { fatalError("init(coder:) has not been implemented") }
}
class ThemedTableCell: NSTableCellView {
final class ThemedTableCell: NSTableCellView {
// MARK: - API
static let font = NSFont.systemFont(ofSize: 12)

View File

@ -7,7 +7,7 @@ import Cocoa
import PureLayout
import RxSwift
class ToolsPref: PrefPane, UiComponent {
final class ToolsPref: PrefPane, UiComponent {
typealias StateType = AppState
enum Action {

View File

@ -5,7 +5,7 @@
import Foundation
class ToolsPrefReducer: ReducerType {
final class ToolsPrefReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = ToolsPref.Action

View File

@ -16,7 +16,7 @@ protocol UuidTagged {
var uuid: UUID { get }
}
class UuidAction<A>: UuidTagged, CustomStringConvertible {
final class UuidAction<A>: UuidTagged, CustomStringConvertible {
let uuid: UUID
let payload: A
@ -30,7 +30,7 @@ class UuidAction<A>: UuidTagged, CustomStringConvertible {
}
}
class UuidState<S>: UuidTagged, CustomStringConvertible {
final class UuidState<S>: UuidTagged, CustomStringConvertible {
let uuid: UUID
let payload: S
@ -44,7 +44,7 @@ class UuidState<S>: UuidTagged, CustomStringConvertible {
}
}
class Token: Hashable, CustomStringConvertible {
final class Token: Hashable, CustomStringConvertible {
func hash(into hasher: inout Hasher) {
hasher.combine(ObjectIdentifier(self))
}
@ -58,7 +58,7 @@ class Token: Hashable, CustomStringConvertible {
}
}
class Marked<T>: CustomStringConvertible {
final class Marked<T>: CustomStringConvertible {
let mark: Token
let payload: T
@ -80,7 +80,7 @@ class Marked<T>: CustomStringConvertible {
}
}
class UiComponentTemplate: UiComponent {
final class UiComponentTemplate: UiComponent {
typealias StateType = State
struct State {

View File

@ -6,7 +6,7 @@
import Cocoa
import RxSwift
class UiRoot: UiComponent {
final class UiRoot: UiComponent {
typealias StateType = AppState
enum Action {

View File

@ -5,7 +5,7 @@
import Foundation
class UiRootReducer: ReducerType {
final class UiRootReducer: ReducerType {
typealias StateType = AppState
typealias ActionType = UiRoot.Action

View File

@ -15,10 +15,10 @@
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>0.40.0</string>
<string>0.41.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>20220618.161750</string>
<string>20220626.182832</string>
</dict>
</plist>

View File

@ -18,7 +18,7 @@ open class CustomToolBar: NSView {
- Close button
- Cog button: not shown when there's no menu
*/
public class InnerToolBar: NSView, NSUserInterfaceValidations {
public final class InnerToolBar: NSView, NSUserInterfaceValidations {
// MARK: - Public
public static let iconDimension = 16.0

View File

@ -9,7 +9,7 @@ import PureLayout
/**
This class is used to display the placeholder bar when a tool is drag & dropped to a location with no existing tools.
*/
class ProxyWorkspaceBar: NSView {
final class ProxyWorkspaceBar: NSView {
var theme = Workspace.Theme.default
@available(*, unavailable)

View File

@ -21,7 +21,7 @@ public protocol WorkspaceDelegate: AnyObject {
func moved(tool: WorkspaceTool)
}
public class Workspace: NSView, WorkspaceBarDelegate {
public final class Workspace: NSView, WorkspaceBarDelegate {
// MARK: - Public
public struct Config {

View File

@ -45,7 +45,7 @@ private class ProxyBar: NSView {
}
}
class WorkspaceBar: NSView, WorkspaceToolDelegate {
final class WorkspaceBar: NSView, WorkspaceToolDelegate {
private static let separatorThickness = 1.0
fileprivate(set) var tools = [WorkspaceTool]()

View File

@ -10,7 +10,7 @@ protocol WorkspaceToolDelegate: AnyObject {
func toggle(_ tool: WorkspaceTool)
}
public class WorkspaceTool: NSView {
public final class WorkspaceTool: NSView {
public var dimension: CGFloat
// MARK: - Public

View File

@ -6,7 +6,7 @@
import Cocoa
import Commons
public class WorkspaceToolButton: NSView, NSDraggingSource {
public final class WorkspaceToolButton: NSView, NSDraggingSource {
private static let titlePadding = CGSize(width: 8, height: 2)
private static let dummyButton = WorkspaceToolButton(title: "Dummy")

View File

@ -6,32 +6,22 @@
<description>Most recent changes with links to updates for VimR.</description>
<language>en</language>
<item>
<title>v0.40.0-20220618.161750</title>
<title>v0.41.0-20220626.182832</title>
<link>https://twitter.com/vimrefined</link>
<sparkle:version>20220618.161750</sparkle:version>
<sparkle:shortVersionString>v0.40.0</sparkle:shortVersionString>
<sparkle:version>20220626.182832</sparkle:version>
<sparkle:shortVersionString>v0.41.0</sparkle:shortVersionString>
<description><![CDATA[
<ul>
<li>Improved trackpad scrolling sensitivity (removed the option for customizing the sensitivity). Thanks @tsung-ju for the PR!</li>
<li>Refactor open quickly:<ul>
<li>Use <a href="https://github.com/jhawthorn/fzy">fzy</a> instead of <a href="https://github.com/MaskRay/ccls">ccls</a></li>
<li>Replace <a href="https://github.com/ggreer/the_silver_searcher">The Silver Searcher</a>'s ignore mechanism with own implementation in Swift using <a href="https://github.com/davvid/wildmatch">wildmatch</a></li>
</ul>
</li>
<li>Dependencies updates<ul>
<li>Quick/Nimble@10.0.0</li>
<li>qvacua/misc.swift@0.0.1</li>
</ul>
</li>
<li>Neovim 0.7.2 😀</li>
</ul>
]]></description>
<releaseNotesLink>
https://github.com/qvacua/vimr/releases/tag/v0.40.0-20220618.161750
https://github.com/qvacua/vimr/releases/tag/v0.41.0-20220626.182832
</releaseNotesLink>
<pubDate>2022-06-18T16:26:12.761684</pubDate>
<pubDate>2022-06-26T18:52:31.247376</pubDate>
<minimumSystemVersion>10.13.0</minimumSystemVersion>
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.40.0-20220618.161750/VimR-v0.40.0.tar.bz2"
sparkle:edSignature="ajaCAcCSK14qN1Fo7zGWM5p+GdkID9S+14tHPjJWGJg9ZyA7qCM0j+FPE8WRpRc9ymvs77zxxTPcEL8qwLpDCg==" length="21435446"
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.41.0-20220626.182832/VimR-v0.41.0.tar.bz2"
sparkle:edSignature="IUqDBwkTsTFh6M//X1AL21+4q2CbiBjv1PZZDdp3tqP84iwBq9VIauTY4sw07PrRE3xZ09w+CwZ/BNeVKGzfDg==" length="21355568"
type="application/octet-stream"/>
</item>
</channel>

View File

@ -6,32 +6,22 @@
<description>Most recent changes with links to updates for VimR.</description>
<language>en</language>
<item>
<title>v0.40.0-20220618.161750</title>
<title>v0.41.0-20220626.182832</title>
<link>https://twitter.com/vimrefined</link>
<sparkle:version>20220618.161750</sparkle:version>
<sparkle:shortVersionString>v0.40.0</sparkle:shortVersionString>
<sparkle:version>20220626.182832</sparkle:version>
<sparkle:shortVersionString>v0.41.0</sparkle:shortVersionString>
<description><![CDATA[
<ul>
<li>Improved trackpad scrolling sensitivity (removed the option for customizing the sensitivity). Thanks @tsung-ju for the PR!</li>
<li>Refactor open quickly:<ul>
<li>Use <a href="https://github.com/jhawthorn/fzy">fzy</a> instead of <a href="https://github.com/MaskRay/ccls">ccls</a></li>
<li>Replace <a href="https://github.com/ggreer/the_silver_searcher">The Silver Searcher</a>'s ignore mechanism with own implementation in Swift using <a href="https://github.com/davvid/wildmatch">wildmatch</a></li>
</ul>
</li>
<li>Dependencies updates<ul>
<li>Quick/Nimble@10.0.0</li>
<li>qvacua/misc.swift@0.0.1</li>
</ul>
</li>
<li>Neovim 0.7.2 😀</li>
</ul>
]]></description>
<releaseNotesLink>
https://github.com/qvacua/vimr/releases/tag/v0.40.0-20220618.161750
https://github.com/qvacua/vimr/releases/tag/v0.41.0-20220626.182832
</releaseNotesLink>
<pubDate>2022-06-18T16:26:12.761684</pubDate>
<pubDate>2022-06-26T18:52:31.247376</pubDate>
<minimumSystemVersion>10.13.0</minimumSystemVersion>
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.40.0-20220618.161750/VimR-v0.40.0.tar.bz2"
sparkle:edSignature="ajaCAcCSK14qN1Fo7zGWM5p+GdkID9S+14tHPjJWGJg9ZyA7qCM0j+FPE8WRpRc9ymvs77zxxTPcEL8qwLpDCg==" length="21435446"
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.41.0-20220626.182832/VimR-v0.41.0.tar.bz2"
sparkle:edSignature="IUqDBwkTsTFh6M//X1AL21+4q2CbiBjv1PZZDdp3tqP84iwBq9VIauTY4sw07PrRE3xZ09w+CwZ/BNeVKGzfDg==" length="21355568"
type="application/octet-stream"/>
</item>
</channel>

View File

@ -11,7 +11,7 @@ main() {
pushd "./NvimServer"
./NvimServer/bin/build_nvimserver.sh
cp ./.build/release/NvimServer ../NvimView/Sources/NvimView/Resources
cp ./.build/apple/Products/Release/NvimServer ../NvimView/Sources/NvimView/Resources
cp -r ./runtime ../NvimView/Sources/NvimView/Resources
cp ../NvimView/Sources/NvimView/Resources/com.qvacua.NvimView.vim ../NvimView/Sources/NvimView/Resources/runtime/plugin
popd >/dev/null

View File

@ -56,9 +56,7 @@ check_gh_release_present() {
build_release() {
echo "### Building release"
code_sign=true use_carthage_cache=false ./bin/build_vimr.sh
vimr_app_path="${build_folder_path}/VimR.app" ./bin/notarize_vimr.sh
clean=true notarize=true use_carthage_cache=false ./bin/build_vimr.sh
pushd "${build_folder_path}" >/dev/null
tar cjf "VimR-${marketing_version}.tar.bz2" VimR.app

View File

@ -1,14 +1,31 @@
#!/bin/bash
set -Eeuo pipefail
readonly code_sign=${code_sign:?"true or false"}
readonly notarize=${notarize:?"true or false"}
readonly use_carthage_cache=${use_carthage_cache:?"true or false"}
readonly clean=${clean:?"true or false"}
main () {
pushd "$(dirname "${BASH_SOURCE[0]}")/.." >/dev/null
echo "### Building VimR target"
prepare_nvimserver() {
resources_folder="./NvimView/Sources/NvimView/Resources"
rm -rf "${resources_folder}/NvimServer"
rm -rf "${resources_folder}/runtime"
local -r build_path="./build"
# Build NvimServer and copy
build_libnvim=true ./NvimServer/NvimServer/bin/build_nvimserver.sh
cp ./NvimServer/.build/apple/Products/Release/NvimServer "${resources_folder}"
# Create and copy runtime folder
install_path="$(/usr/bin/mktemp -d -t 'nvim-runtime')"
nvim_install_path="${install_path}" ./NvimServer/NvimServer/bin/build_runtime.sh
cp -r "${install_path}/share/nvim/runtime" "${resources_folder}"
rm -rf "${install_path}"
# Copy VimR specific vim file to runtime/plugin folder
cp "${resources_folder}/com.qvacua.NvimView.vim" "${resources_folder}/runtime/plugin"
}
build_vimr() {
local -r build_path=$1
# Carthage often crashes => do it at the beginning.
echo "### Updating carthage"
@ -18,22 +35,31 @@ main () {
carthage update --platform macos
fi
./bin/download_nvimserver.sh
echo "### Xcodebuilding"
rm -rf ${build_path}
xcodebuild -configuration Release -derivedDataPath ${build_path} \
rm -rf "${build_path}"
xcodebuild \
-configuration Release -derivedDataPath "${build_path}" \
-workspace VimR.xcworkspace -scheme VimR \
clean build
}
if [[ "${code_sign}" == true ]]; then
local -r -x vimr_app_path="${build_path}/Build/Products/Release/VimR.app"
./bin/sign_vimr.sh
main () {
pushd "$(dirname "${BASH_SOURCE[0]}")/.." >/dev/null
echo "### Building VimR"
prepare_nvimserver
local -r build_path="./build"
build_vimr "${build_path}"
if [[ "${notarize}" == true ]]; then
local -r -x vimr_app_path="${build_path}/Build/Products/Release/VimR.app"
./bin/sign_vimr.sh
./bin/notarize_vimr.sh
fi
echo "### Built VimR target"
echo "### VimR built in ${build_path}/Build/Products/VimR.app"
popd >/dev/null
}
main
main

View File

@ -1,6 +1,7 @@
#!/bin/bash
set -Eeuo pipefail
readonly 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() {
@ -23,7 +24,6 @@ main() {
nvim_version="v$major.$minor.$patch$prerelease"
echo "### Using nvim version: $nvim_version"
local -r -x build_deps=false
./NvimServer/bin/build_libnvim.sh
popd > /dev/null

View File

@ -2,6 +2,10 @@
* ...
# 0.41.0-20220626.182832
* Neovim 0.7.2 😀
# 0.40.0-20220618.161750
* Improved trackpad scrolling sensitivity (removed the option for customizing the sensitivity). Thanks @tsung-ju for the PR!