1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-10-27 18:34:58 +03:00

Merge branch 'develop' into issue/339-md-preview

This commit is contained in:
Tae Won Ha 2017-01-06 14:20:29 +01:00
commit 7a37e418a2
No known key found for this signature in database
GPG Key ID: E40743465B5B8B44
13 changed files with 43 additions and 95 deletions

View File

@ -251,17 +251,11 @@ static CFDataRef local_server_callback(CFMessagePortRef local, SInt32 msgid, CFD
} }
case NeoVimAgentMsgIdGetBuffers: { case NeoVimAgentMsgIdGetBuffers: {
NSUInteger responseId = response_id_from_data(data); return [NSKeyedArchiver archivedDataWithRootObject:server_buffers()];
server_buffers(responseId);
return nil;
} }
case NeoVimAgentMsgIdGetTabs: { case NeoVimAgentMsgIdGetTabs: {
NSUInteger responseId = response_id_from_data(data); return [NSKeyedArchiver archivedDataWithRootObject:server_tabs()];
server_tabs(responseId);
return nil;
} }
case NeoVimAgentMsgIdGetBoolOption: { case NeoVimAgentMsgIdGetBoolOption: {

View File

@ -19,8 +19,8 @@ extern void server_resize(int width, int height);
extern void server_vim_input_marked_text(NSString *markedText); extern void server_vim_input_marked_text(NSString *markedText);
extern bool server_has_dirty_docs(); extern bool server_has_dirty_docs();
extern NSString *server_escaped_filename(NSString *filename); extern NSString *server_escaped_filename(NSString *filename);
extern void server_buffers(NSUInteger responseId); extern NSArray *server_buffers();
extern void server_tabs(NSUInteger responseId); extern NSArray *server_tabs();
extern void server_get_bool_option(NSUInteger responseId, NSString *option); extern void server_get_bool_option(NSUInteger responseId, NSString *option);
extern void server_set_bool_option(NSUInteger responseId, NSString *option, bool value); extern void server_set_bool_option(NSUInteger responseId, NSString *option, bool value);
extern void server_select_win(int window_handle); extern void server_select_win(int window_handle);

View File

@ -763,42 +763,20 @@ static NeoVimBuffer *buffer_for(buf_T *buf) {
return [buffer autorelease]; return [buffer autorelease];
} }
static void neovim_buffers(void **argv) { NSArray *server_buffers() {
NSUInteger *values = (NSUInteger *) argv[0]; NSMutableArray <NeoVimBuffer *> *result = [[NSMutableArray new] autorelease];
NSUInteger responseId = values[0];
NSMutableArray <NeoVimBuffer *> *buffers = [[NSMutableArray new] autorelease];
FOR_ALL_BUFFERS(buf) { FOR_ALL_BUFFERS(buf) {
NeoVimBuffer *buffer = buffer_for(buf); NeoVimBuffer *buffer = buffer_for(buf);
if (buffer == nil) { if (buffer == nil) {
continue; continue;
} }
[buffers addObject:buffer]; [result addObject:buffer];
} }
return result;
NSData *resultData = [NSKeyedArchiver archivedDataWithRootObject:buffers];
NSData *data = data_with_response_id_prefix(responseId, resultData);
[_neovim_server sendMessageWithId:NeoVimServerMsgIdSyncResult data:data];
free(values); // malloc'ed in loop_schedule(&main_loop, ...) (in _queue) somewhere
} }
void server_buffers(NSUInteger responseId) { NSArray *server_tabs() {
queue(^{
NSUInteger *values = malloc(sizeof(NSUInteger));
values[0] = responseId;
// free release in neovim_command
loop_schedule(&main_loop, event_create(1, neovim_buffers, 1, values));
});
}
static void neovim_tabs(void **argv) {
NSUInteger *values = (NSUInteger *) argv[0];
NSUInteger responseId = values[0];
NSMutableArray *tabs = [[NSMutableArray new] autorelease]; NSMutableArray *tabs = [[NSMutableArray new] autorelease];
FOR_ALL_TABS(t) { FOR_ALL_TABS(t) {
NSMutableArray *windows = [NSMutableArray new]; NSMutableArray *windows = [NSMutableArray new];
@ -821,22 +799,7 @@ static void neovim_tabs(void **argv) {
[tab release]; [tab release];
} }
NSData *resultData = [NSKeyedArchiver archivedDataWithRootObject:tabs]; return tabs;
NSData *data = data_with_response_id_prefix(responseId, resultData);
[_neovim_server sendMessageWithId:NeoVimServerMsgIdSyncResult data:data];
free(values); // malloc'ed in loop_schedule(&main_loop, ...) (in _queue) somewhere
}
void server_tabs(NSUInteger responseId) {
queue(^{
NSUInteger *values = malloc(sizeof(NSUInteger));
values[0] = responseId;
// free release in neovim_command
loop_schedule(&main_loop, event_create(1, neovim_tabs, 1, values));
});
} }
void server_select_win(int window_handle) { void server_select_win(int window_handle) {

View File

@ -17,9 +17,9 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.12.3</string> <string>0.12.4</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>156</string> <string>157</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>

View File

@ -15,11 +15,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.12.3</string> <string>0.12.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>156</string> <string>157</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 Tae Won Ha. All rights reserved.</string> <string>Copyright © 2016 Tae Won Ha. All rights reserved.</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View File

@ -338,31 +338,23 @@ static CFDataRef local_server_callback(CFMessagePortRef local, SInt32 msgid, CFD
} }
- (NSArray <NeoVimBuffer *> *)buffers { - (NSArray <NeoVimBuffer *> *)buffers {
NSUInteger reqId = [self nextRequestResponseId]; NSData *response = [self sendMessageWithId:NeoVimAgentMsgIdGetBuffers data:nil expectsReply:YES];
NSData *data = [NSData dataWithBytes:&reqId length:sizeof(NSUInteger)]; if (response == nil) {
[self sendMessageWithId:NeoVimAgentMsgIdGetBuffers data:data expectsReply:NO];
NSData *responseData = [self responseByWaitingForId:reqId];
if (responseData == nil) {
log4Warn("The response for the msg %lu was nil.", NeoVimAgentMsgIdGetBuffers); log4Warn("The response for the msg %lu was nil.", NeoVimAgentMsgIdGetBuffers);
return @[]; return @[];
} }
return [NSKeyedUnarchiver unarchiveObjectWithData:responseData]; return [NSKeyedUnarchiver unarchiveObjectWithData:response];
} }
- (NSArray<NeoVimWindow *> *)tabs { - (NSArray<NeoVimWindow *> *)tabs {
NSUInteger reqId = [self nextRequestResponseId]; NSData *response = [self sendMessageWithId:NeoVimAgentMsgIdGetTabs data:nil expectsReply:YES];
NSData *data = [NSData dataWithBytes:&reqId length:sizeof(NSUInteger)]; if (response == nil) {
[self sendMessageWithId:NeoVimAgentMsgIdGetTabs data:data expectsReply:NO];
NSData *responseData = [self responseByWaitingForId:reqId];
if (responseData == nil) {
log4Warn("The response for the msg %lu was nil.", NeoVimAgentMsgIdGetTabs); log4Warn("The response for the msg %lu was nil.", NeoVimAgentMsgIdGetTabs);
return @[]; return @[];
} }
return [NSKeyedUnarchiver unarchiveObjectWithData:responseData]; return [NSKeyedUnarchiver unarchiveObjectWithData:response];
} }
- (void)runLocalServer { - (void)runLocalServer {

View File

@ -15,10 +15,10 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>BNDL</string> <string>BNDL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.12.3</string> <string>0.12.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>156</string> <string>157</string>
</dict> </dict>
</plist> </plist>

View File

@ -17,11 +17,11 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.12.3</string> <string>0.12.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>156</string> <string>157</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>

View File

@ -1409,7 +1409,7 @@
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 156; DYLIB_CURRENT_VERSION = 157;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
@ -1433,7 +1433,7 @@
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 156; DYLIB_CURRENT_VERSION = 157;
DYLIB_INSTALL_NAME_BASE = "@rpath"; DYLIB_INSTALL_NAME_BASE = "@rpath";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
@ -1625,7 +1625,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 156; CURRENT_PROJECT_VERSION = 157;
DEBUG_INFORMATION_FORMAT = dwarf; DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES; ENABLE_TESTABILITY = YES;
@ -1675,7 +1675,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 156; CURRENT_PROJECT_VERSION = 157;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_STRICT_OBJC_MSGSEND = YES;

View File

@ -36,7 +36,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.12.3</string> <string>0.12.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleURLTypes</key> <key>CFBundleURLTypes</key>
@ -53,7 +53,7 @@
</dict> </dict>
</array> </array>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>156</string> <string>157</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>

View File

@ -15,10 +15,10 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>BNDL</string> <string>BNDL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>0.12.3</string> <string>0.12.4</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>156</string> <string>157</string>
</dict> </dict>
</plist> </plist>

View File

@ -7,23 +7,22 @@
<description>Most recent changes with links to updates for VimR.</description> <description>Most recent changes with links to updates for VimR.</description>
<language>en</language> <language>en</language>
<item> <item>
<title>v0.12.3-156</title> <title>v0.12.4-157</title>
<description><![CDATA[ <description><![CDATA[
<ul> <ul>
<li>GH-376: Bugfix: Exiting full-screen sometimes causes crashes.</li> <li>GH-376: Fix a part of the bug. There's still an issue, cf. discussions in GH-376.</li>
<li>Update RxSwift to <a href="https://github.com/ReactiveX/RxSwift/releases/tag/3.1.0">3.1.0</a></li>
</ul> </ul>
]]></description> ]]></description>
<releaseNotesLink> <releaseNotesLink>
https://github.com/qvacua/vimr/releases/tag/v0.12.3-156 https://github.com/qvacua/vimr/releases/tag/v0.12.4-157
</releaseNotesLink> </releaseNotesLink>
<pubDate>2017-01-04T17:20:06.803676</pubDate> <pubDate>2017-01-05T06:01:49.512565</pubDate>
<minimumSystemVersion>10.10.0</minimumSystemVersion> <minimumSystemVersion>10.10.0</minimumSystemVersion>
<enclosure url="https://github.com/qvacua/vimr/releases/download/v0.12.3-156/VimR-v0.12.3-156.tar.bz2" <enclosure url="https://github.com/qvacua/vimr/releases/download/v0.12.4-157/VimR-v0.12.4-157.tar.bz2"
sparkle:version="156" sparkle:version="157"
sparkle:shortVersionString="0.12.3" sparkle:shortVersionString="0.12.4"
sparkle:dsaSignature="MC4CFQCQyiK2/6pfHjxmvohzD4dBMANGnAIVAMXTNq+A/0LD8rF2aNKSOQgOFBEm" sparkle:dsaSignature="MC4CFQDkEQCX3R3PoffiDFeP1EWEyb5NCwIVALEKIpnzxSYIEBqqnVKUMHRPBGqV"
length="9306801" length="9314485"
type="application/octet-stream"/> type="application/octet-stream"/>
</item> </item>
</channel> </channel>

View File

@ -1,6 +1,6 @@
# next # 0.12.4-156
* ... * GH-376: Fix a part of the bug. There's still an issue, cf. discussions in GH-376.
# 0.12.3-154 # 0.12.3-154