1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-12-01 01:32:04 +03:00
vimr/SwiftNeoVim/NeoVimAgent.h
Tae Won Ha 64501bb43f
GH-302, GH-421 Launch neovim after first resize.
- when using -d option of nvim, it's important that the initial size of nvim corresponds to the NSWindow's size such that both splits have the same width
2017-06-12 19:28:58 +02:00

60 lines
1.5 KiB
Objective-C

/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
@import Cocoa;
@protocol NeoVimUiBridgeProtocol;
@class NeoVimBuffer;
@class NeoVimTab;
@class NeoVimWindow;
NS_ASSUME_NONNULL_BEGIN
@interface NeoVimAgent : NSObject
@property (nonatomic) bool useInteractiveZsh;
@property (nonatomic) NSURL *cwd;
@property (nonatomic, nullable) NSArray<NSString *> *nvimArgs;
@property (readonly, atomic) bool neoVimIsQuitting;
@property (nonatomic, weak) id <NeoVimUiBridgeProtocol> bridge;
- (instancetype)initWithUuid:(NSString *)uuid;
- (void)debug;
- (void)quit;
- (bool)runLocalServerAndNeoVimWithWidth:(NSInteger)width height:(NSInteger)height;
- (NSURL *)pwd;
- (void)vimCommand:(NSString *)string;
- (void)vimInput:(NSString *)string;
- (void)vimInputMarkedText:(NSString *)markedText;
- (void)deleteCharacters:(NSInteger)count;
- (void)resizeToWidth:(int)width height:(int)height;
- (void)cursorGoToRow:(int)row column:(int)column;
- (bool)hasDirtyDocs;
- (NSString * _Nullable)escapedFileName:(NSString *)fileName;
- (NSArray<NSString *> *)escapedFileNames:(NSArray<NSString *> *)fileNames;
- (NSArray<NeoVimBuffer *> *)buffers;
- (NSArray<NeoVimTab*> *)tabs;
- (void)scrollHorizontal:(NSInteger)horiz vertical:(NSInteger)vert;
- (void)selectWindow:(NeoVimWindow *)window;
// WAITS
- (NSString * _Nullable)vimCommandOutput:(NSString *)string;
- (NSNumber * _Nullable)boolOption:(NSString *)option;
- (void)setBoolOption:(NSString *)option to:(bool)value;
@end
NS_ASSUME_NONNULL_END