mirror of
https://github.com/qvacua/vimr.git
synced 2024-12-29 16:56:40 +03:00
Merge branch 'develop' into 428-update-neovim
Conflicts: NeoVimServer/server_ui.m
This commit is contained in:
commit
5f6e758293
@ -30,11 +30,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)encodeWithCoder:(NSCoder *)coder;
|
||||
|
||||
- (NSString *)description;
|
||||
|
||||
- (BOOL)isEqual:(id)other;
|
||||
|
||||
- (BOOL)isEqual:(id _Nullable)other;
|
||||
- (BOOL)isEqualToBuffer:(NeoVimBuffer *)buffer;
|
||||
|
||||
- (NSUInteger)hash;
|
||||
|
||||
@end
|
||||
|
@ -67,8 +67,6 @@ static int _marked_delta = 0;
|
||||
static int _put_row = -1;
|
||||
static int _put_column = -1;
|
||||
|
||||
static bool _dirty = false;
|
||||
|
||||
static NSString *_backspace = nil;
|
||||
|
||||
#pragma mark Helper functions
|
||||
|
@ -17,9 +17,9 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-179</string>
|
||||
<string>SNAPSHOT-180</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179</string>
|
||||
<string>180</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
@ -1,15 +0,0 @@
|
||||
/**
|
||||
* Tae Won Ha - http://taewon.de - @hataewon
|
||||
* See LICENSE
|
||||
*/
|
||||
|
||||
import Cocoa
|
||||
|
||||
public class DispatchUtils {
|
||||
|
||||
fileprivate static let qDispatchMainQueue = DispatchQueue.main
|
||||
|
||||
public static func gui(_ call: @escaping () -> Void) {
|
||||
DispatchUtils.qDispatchMainQueue.async(execute: call)
|
||||
}
|
||||
}
|
@ -15,11 +15,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-179</string>
|
||||
<string>SNAPSHOT-180</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179</string>
|
||||
<string>180</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright © 2016 Tae Won Ha. All rights reserved.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
@ -9,11 +9,15 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* Extracted from snapshot-112 of MacVim
|
||||
* Extracted from snapshot-131 of MacVim
|
||||
* https://github.com/macvim-dev/macvim
|
||||
* See VIM.LICENSE
|
||||
*/
|
||||
|
||||
// We suppress the following warnings since the original code does have it...
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wshorten-64-to-32"
|
||||
|
||||
#import "MMCoreTextView.h"
|
||||
|
||||
static CTFontRef
|
||||
@ -288,3 +292,4 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
}
|
||||
}
|
||||
|
||||
#pragma clang diagnostic pop
|
||||
|
@ -119,7 +119,7 @@ public class NeoVimView: NSView, NeoVimUiBridgeProtocol, NSUserInterfaceValidati
|
||||
0x1F910...0x1F918,
|
||||
0x1F980...0x1F984,
|
||||
0x1F9C0...0x1F9C0
|
||||
].flatMap { $0 }
|
||||
].flatMap { $0 }
|
||||
|
||||
fileprivate var _font = NeoVimView.defaultFont
|
||||
fileprivate var _linespacing = NeoVimView.defaultLinespacing
|
||||
@ -190,7 +190,7 @@ public class NeoVimView: NSView, NeoVimUiBridgeProtocol, NSUserInterfaceValidati
|
||||
let noErrorDuringInitialization = self.agent.runLocalServerAndNeoVim()
|
||||
|
||||
// Neovim is ready now: resize neovim to bounds.
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.agent.setBoolOption("title", to: true)
|
||||
self.agent.setBoolOption("termguicolors", to: true)
|
||||
|
||||
@ -199,7 +199,7 @@ public class NeoVimView: NSView, NeoVimUiBridgeProtocol, NSUserInterfaceValidati
|
||||
alert.alertStyle = .warning
|
||||
alert.messageText = "Error during initialization"
|
||||
alert.informativeText = "There was an error during the initialization of NeoVim. "
|
||||
+ "Use :messages to view the error messages."
|
||||
+ "Use :messages to view the error messages."
|
||||
alert.runModal()
|
||||
}
|
||||
|
||||
@ -278,21 +278,21 @@ extension NeoVimView {
|
||||
let currentBufferIsTransient = buffers.first { $0.isCurrent }?.isTransient ?? false
|
||||
|
||||
urls.enumerated().forEach { (idx, url) in
|
||||
if buffers.filter({ $0.url == url }).first != nil {
|
||||
for window in tabs.map({ $0.windows }).flatMap({ $0 }) {
|
||||
if window.buffer.url == url {
|
||||
self.agent.select(window)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if currentBufferIsTransient {
|
||||
self.open(url, cmd: "e")
|
||||
} else {
|
||||
self.open(url, cmd: "tabe")
|
||||
if buffers.filter({ $0.url == url }).first != nil {
|
||||
for window in tabs.map({ $0.windows }).flatMap({ $0 }) {
|
||||
if window.buffer.url == url {
|
||||
self.agent.select(window)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if currentBufferIsTransient {
|
||||
self.open(url, cmd: "e")
|
||||
} else {
|
||||
self.open(url, cmd: "tabe")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public func openInNewTab(urls: [URL]) {
|
||||
@ -608,7 +608,7 @@ extension NeoVimView {
|
||||
let rowCells = self.grid.cells[row]
|
||||
let startIdx = columnRange.lowerBound
|
||||
|
||||
var result = [ RowRun(row: row, range: startIdx...startIdx, attrs: rowCells[startIdx].attrs) ]
|
||||
var result = [RowRun(row: row, range: startIdx...startIdx, attrs: rowCells[startIdx].attrs)]
|
||||
columnRange.forEach { idx in
|
||||
if rowCells[idx].attrs == result.last!.attrs {
|
||||
let last = result.popLast()!
|
||||
@ -631,7 +631,7 @@ extension NeoVimView {
|
||||
Int(floor((self.bounds.height - self.yOffset - (rect.origin.y + rect.size.height)) / cellHeight)), 0
|
||||
)
|
||||
let rowEnd = min(
|
||||
Int(ceil((self.bounds.height - self.yOffset - rect.origin.y) / cellHeight)) - 1, self.grid.size.height - 1
|
||||
Int(ceil((self.bounds.height - self.yOffset - rect.origin.y) / cellHeight)) - 1, self.grid.size.height - 1
|
||||
)
|
||||
let columnStart = max(
|
||||
Int(floor((rect.origin.x - self.xOffset) / cellWidth)), 0
|
||||
@ -834,8 +834,9 @@ extension NeoVimView: NSTextInputClient {
|
||||
let capslock = modifierFlags.contains(.capsLock)
|
||||
let shift = modifierFlags.contains(.shift)
|
||||
let chars = event.characters!
|
||||
let charsIgnoringModifiers = shift || capslock ? event.charactersIgnoringModifiers!.lowercased()
|
||||
: event.charactersIgnoringModifiers!
|
||||
let charsIgnoringModifiers = shift || capslock
|
||||
? event.charactersIgnoringModifiers!.lowercased()
|
||||
: event.charactersIgnoringModifiers!
|
||||
|
||||
if KeyUtils.isSpecial(key: charsIgnoringModifiers) {
|
||||
if let vimModifiers = self.vimModifierFlags(modifierFlags) {
|
||||
@ -1066,15 +1067,15 @@ extension NeoVimView {
|
||||
|
||||
override public func mouseDown(with event: NSEvent) {
|
||||
// self.window?.makeFirstResponder(self)
|
||||
self.mouse(event: event, vimName:"LeftMouse")
|
||||
self.mouse(event: event, vimName: "LeftMouse")
|
||||
}
|
||||
|
||||
override public func mouseUp(with event: NSEvent) {
|
||||
self.mouse(event: event, vimName:"LeftRelease")
|
||||
self.mouse(event: event, vimName: "LeftRelease")
|
||||
}
|
||||
|
||||
override public func mouseDragged(with event: NSEvent) {
|
||||
self.mouse(event: event, vimName:"LeftDrag")
|
||||
self.mouse(event: event, vimName: "LeftDrag")
|
||||
}
|
||||
|
||||
override public func scrollWheel(with event: NSEvent) {
|
||||
@ -1149,9 +1150,9 @@ extension NeoVimView {
|
||||
self.agent.vimInput(result)
|
||||
}
|
||||
|
||||
fileprivate func shouldFireVimInputFor(event:NSEvent, newCellPosition: Position) -> Bool {
|
||||
fileprivate func shouldFireVimInputFor(event: NSEvent, newCellPosition: Position) -> Bool {
|
||||
let type = event.type
|
||||
guard type == .leftMouseDragged || type == .rightMouseDragged || type == .otherMouseDragged else {
|
||||
guard type == .leftMouseDragged || type == .rightMouseDragged || type == .otherMouseDragged else {
|
||||
self.lastClickedCellPosition = newCellPosition
|
||||
return true
|
||||
}
|
||||
@ -1199,8 +1200,7 @@ extension NeoVimView {
|
||||
|
||||
fileprivate func vimScrollInputFor(deltaX: CGFloat, deltaY: CGFloat,
|
||||
modifierFlags: NSEventModifierFlags,
|
||||
cellPosition: Position) -> (String, String)
|
||||
{
|
||||
cellPosition: Position) -> (String, String) {
|
||||
let vimMouseLocation = self.wrapNamedKeys("\(cellPosition.row),\(cellPosition.column)")
|
||||
|
||||
let (typeX, typeY) = self.vimScrollEventNamesFor(deltaX: deltaX, deltaY: deltaY)
|
||||
@ -1222,7 +1222,7 @@ extension NeoVimView {
|
||||
self.scrollGuardCounterX = self.scrollGuardYield - 1
|
||||
} else if absDeltaX <= 2 {
|
||||
// Poor man's throttle for scroll value = 1 or 2
|
||||
if self.scrollGuardCounterX % self.scrollGuardYield == 0 {
|
||||
if self.scrollGuardCounterX % self.scrollGuardYield == 0 {
|
||||
self.agent.vimInput(vimInput)
|
||||
self.scrollGuardCounterX = 1
|
||||
} else {
|
||||
@ -1238,7 +1238,7 @@ extension NeoVimView {
|
||||
self.scrollGuardCounterY = self.scrollGuardYield - 1
|
||||
} else if absDeltaY <= 2 {
|
||||
// Poor man's throttle for scroll value = 1 or 2
|
||||
if self.scrollGuardCounterY % self.scrollGuardYield == 0 {
|
||||
if self.scrollGuardCounterY % self.scrollGuardYield == 0 {
|
||||
self.agent.vimInput(vimInput)
|
||||
self.scrollGuardCounterY = 1
|
||||
} else {
|
||||
@ -1254,7 +1254,7 @@ extension NeoVimView {
|
||||
extension NeoVimView {
|
||||
|
||||
public func resize(toWidth width: Int32, height: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
// NSLog("\(#function): \(width):\(height)")
|
||||
self.grid.resize(Size(width: Int(width), height: Int(height)))
|
||||
self.markForRenderWholeView()
|
||||
@ -1262,14 +1262,14 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func clear() {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.clear()
|
||||
self.markForRenderWholeView()
|
||||
}
|
||||
}
|
||||
|
||||
public func eolClear() {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.eolClear()
|
||||
|
||||
let putPosition = self.grid.putPosition
|
||||
@ -1282,7 +1282,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func gotoPosition(_ position: Position, screenCursor: Position, currentPosition: Position) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.currentPosition = currentPosition
|
||||
// NSLog("\(#function): \(position), \(screenCursor)")
|
||||
|
||||
@ -1312,7 +1312,7 @@ extension NeoVimView {
|
||||
self.grid.goto(position)
|
||||
self.grid.moveCursor(screenCursor)
|
||||
}
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.delegate?.cursor(to: currentPosition)
|
||||
}
|
||||
}
|
||||
@ -1338,14 +1338,14 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func setScrollRegionToTop(_ top: Int32, bottom: Int32, left: Int32, right: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
let region = Region(top: Int(top), bottom: Int(bottom), left: Int(left), right: Int(right))
|
||||
self.grid.setScrollRegion(region)
|
||||
}
|
||||
}
|
||||
|
||||
public func scroll(_ count: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.scroll(Int(count))
|
||||
self.markForRender(region: self.grid.region)
|
||||
// Do not send msgs to agent -> neovim in the delegate method. It causes spinning when you're opening a file with
|
||||
@ -1355,13 +1355,13 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func highlightSet(_ attrs: CellAttributes) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.attrs = attrs
|
||||
}
|
||||
}
|
||||
|
||||
public func put(_ string: String, screenCursor: Position) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
let curPos = self.grid.putPosition
|
||||
// NSLog("\(#function): \(curPos) -> \(string)")
|
||||
self.grid.put(string)
|
||||
@ -1381,7 +1381,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func putMarkedText(_ markedText: String, screenCursor: Position) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
NSLog("\(#function): '\(markedText)' -> \(screenCursor)")
|
||||
|
||||
let curPos = self.grid.putPosition
|
||||
@ -1399,7 +1399,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func unmarkRow(_ row: Int32, column: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
let position = Position(row: Int(row), column: Int(column))
|
||||
|
||||
// NSLog("\(#function): \(position)")
|
||||
@ -1412,7 +1412,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func bell() {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
NSBeep()
|
||||
}
|
||||
}
|
||||
@ -1424,14 +1424,14 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func updateForeground(_ fg: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.foreground = UInt32(bitPattern: fg)
|
||||
// NSLog("\(ColorUtils.colorIgnoringAlpha(UInt32(fg)))")
|
||||
}
|
||||
}
|
||||
|
||||
public func updateBackground(_ bg: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.background = UInt32(bitPattern: bg)
|
||||
self.layer?.backgroundColor = ColorUtils.colorIgnoringAlpha(self.grid.background).cgColor
|
||||
// NSLog("\(ColorUtils.colorIgnoringAlpha(UInt32(bg)))")
|
||||
@ -1439,7 +1439,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func updateSpecial(_ sp: Int32) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.grid.special = UInt32(bitPattern: sp)
|
||||
}
|
||||
}
|
||||
@ -1448,7 +1448,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func setTitle(_ title: String) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.delegate?.set(title: title)
|
||||
}
|
||||
}
|
||||
@ -1457,20 +1457,20 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func stop() {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.delegate?.neoVimStopped()
|
||||
}
|
||||
self.agent.quit()
|
||||
}
|
||||
|
||||
public func setDirtyStatus(_ dirty: Bool) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.delegate?.set(dirtyStatus: dirty)
|
||||
}
|
||||
}
|
||||
|
||||
public func autoCommandEvent(_ event: NeoVimAutoCommandEvent, bufferHandle: Int) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
// NSLog("\(event.rawValue) with buffer \(bufferHandle)")
|
||||
|
||||
if (event == .TEXTCHANGED || event == .TEXTCHANGEDI || event == .BUFWRITEPOST || event == .BUFLEAVE) {
|
||||
@ -1496,7 +1496,7 @@ extension NeoVimView {
|
||||
}
|
||||
|
||||
public func ipcBecameInvalid(_ reason: String) {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
if self.agent.neoVimIsQuitting {
|
||||
return
|
||||
}
|
||||
|
@ -15,10 +15,10 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-179</string>
|
||||
<string>SNAPSHOT-180</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179</string>
|
||||
<string>180</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -17,11 +17,11 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-179</string>
|
||||
<string>SNAPSHOT-180</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179</string>
|
||||
<string>180</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
@ -135,7 +135,6 @@
|
||||
4BB409EE1DDA77E9005F39A2 /* ProxyWorkspaceBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB409ED1DDA77E9005F39A2 /* ProxyWorkspaceBar.swift */; };
|
||||
4BB409EF1DDA77E9005F39A2 /* ProxyWorkspaceBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB409ED1DDA77E9005F39A2 /* ProxyWorkspaceBar.swift */; };
|
||||
4BB489431D952CF6005BB0E8 /* WorkspaceToolButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BB489411D952CF6005BB0E8 /* WorkspaceToolButton.swift */; };
|
||||
4BB727131E97A6E5001571C1 /* DispatchUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BEE79141D16D2100012EDAA /* DispatchUtils.swift */; };
|
||||
4BB727141E97A718001571C1 /* CocoaMarkdown.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4B183E0D1E06E2940079E8A8 /* CocoaMarkdown.framework */; };
|
||||
4BB727151E97A718001571C1 /* CocoaMarkdown.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4B183E0D1E06E2940079E8A8 /* CocoaMarkdown.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
4BBFF8621E280E31008A3C1A /* Swifter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4BBFF8611E280E31008A3C1A /* Swifter.framework */; };
|
||||
@ -175,7 +174,6 @@
|
||||
4BEBA5091CFF374B00673FDF /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BEBA5081CFF374B00673FDF /* AppDelegate.swift */; };
|
||||
4BEBA50B1CFF374B00673FDF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 4BEBA50A1CFF374B00673FDF /* Assets.xcassets */; };
|
||||
4BEBA50E1CFF374B00673FDF /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BEBA50C1CFF374B00673FDF /* MainMenu.xib */; };
|
||||
4BEE79151D16D2100012EDAA /* DispatchUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BEE79141D16D2100012EDAA /* DispatchUtils.swift */; };
|
||||
4BEE79171D16D3800012EDAA /* CellAttributes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BEE79161D16D3800012EDAA /* CellAttributes.swift */; };
|
||||
4BF07EE41D51326A009BECEB /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 4BF07EE61D51326A009BECEB /* Credits.rtf */; };
|
||||
4BF6E29C1D34153C0053FA76 /* KeyUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BF6E29B1D34153C0053FA76 /* KeyUtils.swift */; };
|
||||
@ -453,7 +451,6 @@
|
||||
4BEBA5141CFF374B00673FDF /* VimRTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VimRTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
4BEBA51A1CFF374B00673FDF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
4BEBA6621D00157A00673FDF /* runtime */ = {isa = PBXFileReference; lastKnownFileType = folder; name = runtime; path = neovim/runtime; sourceTree = SOURCE_ROOT; };
|
||||
4BEE79141D16D2100012EDAA /* DispatchUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchUtils.swift; sourceTree = "<group>"; };
|
||||
4BEE79161D16D3800012EDAA /* CellAttributes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CellAttributes.swift; sourceTree = "<group>"; };
|
||||
4BF07EE51D51326A009BECEB /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = Base; path = Base.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
4BF6E29B1D34153C0053FA76 /* KeyUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyUtils.swift; sourceTree = "<group>"; };
|
||||
@ -691,7 +688,6 @@
|
||||
4B4192171D0C52D700A0BEB2 /* Grid.swift */,
|
||||
4BCADE071D11ED12004DAD0F /* CocoaExtensions.swift */,
|
||||
4B1BB3521D16C5E500CA4FEF /* InputTestView.swift */,
|
||||
4BEE79141D16D2100012EDAA /* DispatchUtils.swift */,
|
||||
4BF6E29B1D34153C0053FA76 /* KeyUtils.swift */,
|
||||
4B8AC0431DBCB3A1007CCC9B /* NeoVimObjectsExtensions.swift */,
|
||||
);
|
||||
@ -1258,7 +1254,6 @@
|
||||
4B401B1A1D046E0600D99EDC /* NeoVimViewDelegate.swift in Sources */,
|
||||
1929B728262BAA14FC93F6AC /* NeoVimView.swift in Sources */,
|
||||
4B570DC31D303CAF006EDC21 /* NeoVimAgent.m in Sources */,
|
||||
4BEE79151D16D2100012EDAA /* DispatchUtils.swift in Sources */,
|
||||
4BDF641D1D0887C100D47E1D /* TextDrawer.m in Sources */,
|
||||
4BDF64251D08CAB000D47E1D /* MMCoreTextView.m in Sources */,
|
||||
4BDD058C1DBBC50000D1B405 /* NeoVimWindow.m in Sources */,
|
||||
@ -1280,7 +1275,6 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
4BB727131E97A6E5001571C1 /* DispatchUtils.swift in Sources */,
|
||||
4B280EFF1D945DA5003FE725 /* AppKitCommons.swift in Sources */,
|
||||
4B3965371DEB21300082D3C1 /* InnterToolBar.swift in Sources */,
|
||||
4B6423AF1D8EFEA800FC78C8 /* Workspace.swift in Sources */,
|
||||
@ -1499,7 +1493,7 @@
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 179;
|
||||
DYLIB_CURRENT_VERSION = 180;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@ -1523,7 +1517,7 @@
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 179;
|
||||
DYLIB_CURRENT_VERSION = 180;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@ -1650,7 +1644,6 @@
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
"CUSTOM_UI=1",
|
||||
"INCLUDE_GENERATED_DECLARATIONS=1",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = (
|
||||
@ -1675,10 +1668,7 @@
|
||||
4B854A201D31447C00E08DE1 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"INCLUDE_GENERATED_DECLARATIONS=1",
|
||||
"CUSTOM_UI=1",
|
||||
);
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "INCLUDE_GENERATED_DECLARATIONS=1";
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(PROJECT_DIR)/neovim/build/include",
|
||||
"$(PROJECT_DIR)/neovim/src",
|
||||
@ -1719,7 +1709,7 @@
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 179;
|
||||
CURRENT_PROJECT_VERSION = 180;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
@ -1769,7 +1759,7 @@
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 179;
|
||||
CURRENT_PROJECT_VERSION = 180;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
|
@ -38,7 +38,7 @@ class FileItem : CustomStringConvertible, Hashable, Comparable, Copyable {
|
||||
var description: String {
|
||||
return "<FileItem: \(self.url), dir=\(self.isDir), hidden=\(self.isHidden), package=\(self.isPackage), "
|
||||
+ "needsScan=\(self.needsScanChildren), childrenScanned=\(self.childrenScanned), "
|
||||
+ "ignore=\(self.ignore), ignoreToken=\(self.ignoreToken), "
|
||||
+ "ignore=\(self.ignore), ignoreToken=\(String(describing: self.ignoreToken)), "
|
||||
+ "children=\(self.children.count)>"
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-179</string>
|
||||
<string>SNAPSHOT-180</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
@ -53,7 +53,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179</string>
|
||||
<string>180</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
|
@ -286,7 +286,7 @@ class MainWindow: NSObject,
|
||||
fileprivate func open(urls: [URL: OpenMode]) {
|
||||
// If we don't call the following in the next tick, only half of the existing swap file warning is displayed.
|
||||
// Dunno why...
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
urls.forEach { (url: URL, openMode: OpenMode) in
|
||||
switch openMode {
|
||||
|
||||
|
@ -47,8 +47,8 @@ class OpenQuicklyFilterOperation: Operation {
|
||||
let truncatedItems = self.flatFileItems[0...min(self.maxResultCount, self.flatFileItems.count - 1)]
|
||||
sorted = truncatedItems.map { ScoredFileItem(score: 0, url: $0.url) }
|
||||
} else {
|
||||
DispatchUtils.gui { self.openQuickly.startProgress() }
|
||||
defer { DispatchUtils.gui { self.openQuickly.endProgress() } }
|
||||
DispatchQueue.main.async { self.openQuickly.startProgress() }
|
||||
defer { DispatchQueue.main.async { self.openQuickly.endProgress() } }
|
||||
|
||||
let count = self.flatFileItems.count
|
||||
let chunksCount = Int(ceil(Float(count) / Float(self.chunkSize)))
|
||||
@ -107,7 +107,7 @@ class OpenQuicklyFilterOperation: Operation {
|
||||
return
|
||||
}
|
||||
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
let result = Array(sorted[0...min(self.maxResultCount, sorted.count - 1)])
|
||||
self.openQuickly.reloadFileView(withScoredItems: result)
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ class WorkspaceTool: NSView {
|
||||
}
|
||||
|
||||
set {
|
||||
DispatchUtils.gui {
|
||||
DispatchQueue.main.async {
|
||||
self.innerToolbar?.customToolbar = newValue
|
||||
}
|
||||
}
|
||||
|
@ -15,10 +15,10 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>SNAPSHOT-179</string>
|
||||
<string>SNAPSHOT-180</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>179</string>
|
||||
<string>180</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -7,23 +7,23 @@
|
||||
<description>Most recent changes with links to updates for VimR.</description>
|
||||
<language>en</language>
|
||||
<item>
|
||||
<title>SNAPSHOT-179</title>
|
||||
<title>SNAPSHOT-180</title>
|
||||
<description><![CDATA[
|
||||
<ul>
|
||||
<li>GH-389: Bugfix: The Files tool does not update when one folder is created.</li>
|
||||
<li>GH-374: Bugfix: The tool buttons have a narrow area which does not react to mouse down when the tool is closed.</li>
|
||||
<li>Hopefully the last snapshot before next release... 🙄</li>
|
||||
<li>GH-405: Retain scroll position after reloading markdown</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<releaseNotesLink>
|
||||
https://github.com/qvacua/vimr/releases/tag/snapshot/179
|
||||
https://github.com/qvacua/vimr/releases/tag/snapshot/180
|
||||
</releaseNotesLink>
|
||||
<pubDate>2017-04-18T20:29:01.988795</pubDate>
|
||||
<pubDate>2017-04-23T22:14:51.677227</pubDate>
|
||||
<minimumSystemVersion>10.10.0</minimumSystemVersion>
|
||||
<enclosure url="https://github.com/qvacua/vimr/releases/download/snapshot/179/VimR-SNAPSHOT-179.tar.bz2"
|
||||
sparkle:version="179"
|
||||
sparkle:shortVersionString="SNAPSHOT-179"
|
||||
sparkle:dsaSignature="MCwCFAFGLFa7V2SQYzW4n7Dn597DYd1pAhQza31EfX9DDPask+g/0rVCowRIoA=="
|
||||
length="12098297"
|
||||
<enclosure url="https://github.com/qvacua/vimr/releases/download/snapshot/180/VimR-SNAPSHOT-180.tar.bz2"
|
||||
sparkle:version="180"
|
||||
sparkle:shortVersionString="SNAPSHOT-180"
|
||||
sparkle:dsaSignature="MC0CFGo8Gdgf38jMxf6/8Z8bKiuwC1bhAhUAnYOLIwl4CeaTluqpOV4t1plXmz0="
|
||||
length="12205687"
|
||||
type="application/octet-stream"/>
|
||||
</item>
|
||||
</channel>
|
||||
|
Binary file not shown.
@ -6,6 +6,13 @@
|
||||
* GH-398: Set the represented icon in the window title bar.
|
||||
* GH-389: Bugfix: The Files tool does not update when one folder is created.
|
||||
* GH-374: Bugfix: The tool buttons have a narrow area which does not react to mouse down when the tool is closed.
|
||||
* Dependencies updates:
|
||||
- RxSwift: 3.4.0
|
||||
- Sparkle: 1.17
|
||||
- github-markdown-css: 2.6.0
|
||||
- swifter: 1.3.3
|
||||
- Nimble: 6.1.0
|
||||
- neovim: neovim/neovim@337299c8082347feecb5e733bed993c6a5933456
|
||||
|
||||
# 0.13.1-167
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user