mirror of
https://github.com/qvacua/vimr.git
synced 2024-11-29 03:53:38 +03:00
Pass through current buffer changed event to preview component
This commit is contained in:
parent
069adb5c6e
commit
9b377c9d34
@ -1436,9 +1436,7 @@ extension NeoVimView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if event == .BUFREADPOST || event == .BUFWRITEPOST {
|
if event == .BUFREADPOST || event == .BUFWRITEPOST {
|
||||||
if self.currentBuffer()?.handle == bufferHandle {
|
self.currentBufferChanged(bufferHandle)
|
||||||
self.currentBufferChanged()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1455,9 +1453,17 @@ extension NeoVimView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fileprivate func currentBufferChanged() {
|
fileprivate func currentBufferChanged(_ handle: Int) {
|
||||||
DispatchUtils.gui {
|
DispatchUtils.gui {
|
||||||
self.delegate?.currentBufferChanged()
|
guard let currentBuffer = self.currentBuffer() else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
guard currentBuffer.handle == handle else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
self.delegate?.currentBufferChanged(currentBuffer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ public protocol NeoVimViewDelegate: class {
|
|||||||
func set(dirtyStatus: Bool)
|
func set(dirtyStatus: Bool)
|
||||||
func cwdChanged()
|
func cwdChanged()
|
||||||
func bufferListChanged()
|
func bufferListChanged()
|
||||||
func currentBufferChanged()
|
func currentBufferChanged(_ currentBuffer: NeoVimBuffer)
|
||||||
|
|
||||||
func ipcBecameInvalid(reason: String)
|
func ipcBecameInvalid(reason: String)
|
||||||
}
|
}
|
||||||
|
@ -1121,7 +1121,7 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "if [ \"${CONFIGURATION}\" = \"Debug\" ]; then ]\n if [ -f \"SwiftNeoVim/NeoVimAutoCommandEvent.generated.h\" ]; then\n exit 0\n fi\nfi\n\nsed 's/^typedef enum auto_event/typedef NS_ENUM(NSUInteger, NeoVimAutoCommandEvent)/' <./neovim/build/include/auevents_enum.generated.h | sed 's/ event_T//' | sed 's/EVENT_/NeoVimAutoCommandEvent/' | sed 's/NUM_EVENTS/NumberOfAutoCommandEvents/' | sed -e '1s/^/@import Foundation;\\'$'\\n/' > SwiftNeoVim/NeoVimAutoCommandEvent.generated.h\n";
|
shellScript = "if [ \"${CONFIGURATION}\" = \"Debug\" ]; then\n if [ -f \"SwiftNeoVim/NeoVimAutoCommandEvent.generated.h\" ]; then\n exit 0\n fi\nfi\n\nsed 's/^typedef enum auto_event/typedef NS_ENUM(NSUInteger, NeoVimAutoCommandEvent)/' <./neovim/build/include/auevents_enum.generated.h | sed 's/ event_T//' | sed 's/EVENT_/NeoVimAutoCommandEvent/' | sed 's/NUM_EVENTS/NumberOfAutoCommandEvents/' | sed -e '1s/^/@import Foundation;\\'$'\\n/' > SwiftNeoVim/NeoVimAutoCommandEvent.generated.h\n";
|
||||||
};
|
};
|
||||||
4BBA71F11D319E0900E16612 /* ShellScript */ = {
|
4BBA71F11D319E0900E16612 /* ShellScript */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
@ -15,6 +15,8 @@ enum MainWindowAction {
|
|||||||
case changeBufferList(mainWindow: MainWindowComponent, buffers: [NeoVimBuffer])
|
case changeBufferList(mainWindow: MainWindowComponent, buffers: [NeoVimBuffer])
|
||||||
case changeFileBrowserSelection(mainWindow: MainWindowComponent, url: URL)
|
case changeFileBrowserSelection(mainWindow: MainWindowComponent, url: URL)
|
||||||
case close(mainWindow: MainWindowComponent, mainWindowPrefData: MainWindowPrefData)
|
case close(mainWindow: MainWindowComponent, mainWindowPrefData: MainWindowPrefData)
|
||||||
|
|
||||||
|
case currentBufferChanged(mainWindow: MainWindowComponent, buffer: NeoVimBuffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct MainWindowPrefData: StandardPrefData {
|
struct MainWindowPrefData: StandardPrefData {
|
||||||
@ -516,8 +518,8 @@ extension MainWindowComponent {
|
|||||||
self.publish(event: MainWindowAction.changeBufferList(mainWindow: self, buffers: buffers))
|
self.publish(event: MainWindowAction.changeBufferList(mainWindow: self, buffers: buffers))
|
||||||
}
|
}
|
||||||
|
|
||||||
func currentBufferChanged() {
|
func currentBufferChanged(_ currentBuffer: NeoVimBuffer) {
|
||||||
NSLog("current buffer changed!!!")
|
self.publish(event: MainWindowAction.currentBufferChanged(mainWindow: self, buffer: currentBuffer))
|
||||||
}
|
}
|
||||||
|
|
||||||
func ipcBecameInvalid(reason: String) {
|
func ipcBecameInvalid(reason: String) {
|
||||||
|
@ -49,7 +49,7 @@ class MainWindowManager: StandardFlow {
|
|||||||
case let .close(mainWindow, mainWindowPrefData):
|
case let .close(mainWindow, mainWindowPrefData):
|
||||||
self.close(mainWindow, prefData: mainWindowPrefData)
|
self.close(mainWindow, prefData: mainWindowPrefData)
|
||||||
|
|
||||||
case .changeCwd, .changeBufferList, .changeFileBrowserSelection:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -50,6 +50,19 @@ class PreviewComponent: ViewComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override func subscription(source: Observable<Any>) -> Disposable {
|
override func subscription(source: Observable<Any>) -> Disposable {
|
||||||
return Disposables.create()
|
return source
|
||||||
|
.filter { $0 is MainWindowAction }
|
||||||
|
.map { $0 as! MainWindowAction }
|
||||||
|
.subscribe(onNext: { action in
|
||||||
|
switch action {
|
||||||
|
|
||||||
|
case let .currentBufferChanged(mainWindow, currentBuffer):
|
||||||
|
NSLog("\(currentBuffer)")
|
||||||
|
|
||||||
|
default:
|
||||||
|
return
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user