diff options
author | koekeishiya <aasvi93@hotmail.com> | 2017-09-12 12:43:38 +0200 |
---|---|---|
committer | koekeishiya <aasvi93@hotmail.com> | 2017-09-12 12:43:38 +0200 |
commit | 07f864c03ecdfbbc761cdfa8cf54321ba17bec47 (patch) | |
tree | 1275e554d48a3e43877843340b9f03cc763932a8 | |
parent | 1723966a65c5fd591aca85ed427e53674bae056e (diff) | |
download | skhd-07f864c03ecdfbbc761cdfa8cf54321ba17bec47.tar.gz skhd-07f864c03ecdfbbc761cdfa8cf54321ba17bec47.zip |
code cleanup
Diffstat (limited to '')
-rw-r--r-- | src/hotkey.c | 6 | ||||
-rw-r--r-- | src/hotload.c | 52 | ||||
-rw-r--r-- | src/parse.c | 7 | ||||
-rw-r--r-- | src/skhd.c | 3 | ||||
-rw-r--r-- | src/tokenize.c | 89 |
5 files changed, 72 insertions, 85 deletions
diff --git a/src/hotkey.c b/src/hotkey.c index cdf8de1..9e99064 100644 --- a/src/hotkey.c +++ b/src/hotkey.c @@ -13,15 +13,13 @@ fork_and_exec(char *command) { local_persist char arg[] = "-c"; local_persist char *shell = NULL; - if(!shell) - { + if(!shell) { char *env_shell = getenv("SHELL"); shell = env_shell ? env_shell : "/bin/bash"; } int cpid = fork(); - if(cpid == 0) - { + if(cpid == 0) { char *exec[] = { shell, arg, command, NULL}; int status_code = execvp(exec[0], exec); exit(status_code); diff --git a/src/hotload.c b/src/hotload.c index c0e8279..6bcd848 100644 --- a/src/hotload.c +++ b/src/hotload.c @@ -69,34 +69,34 @@ void hotloader_add_file(struct hotloader *hotloader, const char *file) bool hotloader_begin(struct hotloader *hotloader, hotloader_callback *callback) { - if(!hotloader->enabled) { - if(hotloader->watch_count) { - CFStringRef string_refs[hotloader->watch_count]; - for(unsigned index = 0; index < hotloader->watch_count; ++index) { - string_refs[index] = CFStringCreateWithCString(kCFAllocatorDefault, - hotloader->watch_list[index].directory, - kCFStringEncodingUTF8); - } + if((hotloader->enabled) || + (!hotloader->watch_count)) { + return false; + } - FSEventStreamContext context = {}; - context.info = (void *) hotloader; - - hotloader->enabled = true; - hotloader->path = (CFArrayRef) CFArrayCreate(NULL, (const void **) string_refs, hotloader->watch_count, &kCFTypeArrayCallBacks); - hotloader->flags = kFSEventStreamCreateFlagNoDefer | kFSEventStreamCreateFlagFileEvents; - hotloader->stream = FSEventStreamCreate(NULL, - callback, - &context, - hotloader->path, - kFSEventStreamEventIdSinceNow, - 0.5, - hotloader->flags); - FSEventStreamScheduleWithRunLoop(hotloader->stream, CFRunLoopGetMain(), kCFRunLoopDefaultMode); - FSEventStreamStart(hotloader->stream); - return true; - } + CFStringRef string_refs[hotloader->watch_count]; + for(unsigned index = 0; index < hotloader->watch_count; ++index) { + string_refs[index] = CFStringCreateWithCString(kCFAllocatorDefault, + hotloader->watch_list[index].directory, + kCFStringEncodingUTF8); } - return false; + + FSEventStreamContext context = {}; + context.info = (void *) hotloader; + + hotloader->enabled = true; + hotloader->path = (CFArrayRef) CFArrayCreate(NULL, (const void **) string_refs, hotloader->watch_count, &kCFTypeArrayCallBacks); + hotloader->flags = kFSEventStreamCreateFlagNoDefer | kFSEventStreamCreateFlagFileEvents; + hotloader->stream = FSEventStreamCreate(NULL, + callback, + &context, + hotloader->path, + kFSEventStreamEventIdSinceNow, + 0.5, + hotloader->flags); + FSEventStreamScheduleWithRunLoop(hotloader->stream, CFRunLoopGetMain(), kCFRunLoopDefaultMode); + FSEventStreamStart(hotloader->stream); + return true; } void hotloader_end(struct hotloader *hotloader) diff --git a/src/parse.c b/src/parse.c index 5c3ed6d..56f3c7f 100644 --- a/src/parse.c +++ b/src/parse.c @@ -18,8 +18,7 @@ read_file(const char *file) char *buffer = NULL; FILE *handle = fopen(file, "r"); - if(handle) - { + if(handle) { fseek(handle, 0, SEEK_END); length = ftell(handle); fseek(handle, 0, SEEK_SET); @@ -105,7 +104,6 @@ parse_key_literal(struct parser *parser) uint32_t keycode; struct token key = parser_previous(parser); - // NOTE(koekeishiya): Might want to replace this mapping with a hashtable for(int i = 0; i < array_count(literal_keycode_str); ++i) { if(token_equals(key, literal_keycode_str[i])) { keycode = literal_keycode_value[i]; @@ -132,7 +130,6 @@ parse_modifier(struct parser *parser) uint32_t flags = 0; struct token modifier = parser_previous(parser); - // NOTE(koekeishiya): Might want to replace this mapping with a hashtable for(int i = 0; i < array_count(modifier_flags_str); ++i) { if(token_equals(modifier, modifier_flags_str[i])) { flags |= modifier_flags_value[i]; @@ -270,7 +267,7 @@ parser_advance(struct parser *parser) bool parser_check(struct parser *parser, enum token_type type) { - if(parser_eof(parser)) return 0; + if(parser_eof(parser)) return false; struct token token = parser_peek(parser); return token.type == type; } @@ -70,9 +70,6 @@ parse_config_helper(char *absolutepath) struct parser parser; if(parser_init(&parser, absolutepath)) { parse_config(&parser, &hotkey_map); - if(parser.error) { - free_hotkeys(&hotkey_map); - } parser_destroy(&parser); } else { warn("skhd: could not open file '%s'\n", absolutepath); diff --git a/src/tokenize.c b/src/tokenize.c index 28a5336..4feca6d 100644 --- a/src/tokenize.c +++ b/src/tokenize.c @@ -121,54 +121,49 @@ get_token(struct tokenizer *tokenizer) c = *token.text; advance(tokenizer); - switch(c) - { - case '\0': { token.type = Token_EndOfStream; } break; - case '+': { token.type = Token_Plus; } break; - case '-': - { - if(*tokenizer->at && *tokenizer->at == '>') { - advance(tokenizer); - token.length = tokenizer->at - token.text; - token.type = Token_Arrow; - } else { - token.type = Token_Dash; - } - } break; - case ':': - { - eat_whitespace(tokenizer); - - token.text = tokenizer->at; - token.line = tokenizer->line; - token.cursor = tokenizer->cursor; - - eat_command(tokenizer); + switch(c) { + case '\0':{ token.type = Token_EndOfStream; } break; + case '+': { token.type = Token_Plus; } break; + case '#': { + eat_comment(tokenizer); + token = get_token(tokenizer); + } break; + case '-': { + if(*tokenizer->at && *tokenizer->at == '>') { + advance(tokenizer); + token.length = tokenizer->at - token.text; + token.type = Token_Arrow; + } else { + token.type = Token_Dash; + } + } break; + case ':': { + eat_whitespace(tokenizer); + + token.text = tokenizer->at; + token.line = tokenizer->line; + token.cursor = tokenizer->cursor; + + eat_command(tokenizer); + token.length = tokenizer->at - token.text; + token.type = Token_Command; + } break; + default: { + if(c == '0' && *tokenizer->at == 'x') { + advance(tokenizer); + eat_hex(tokenizer); + token.length = tokenizer->at - token.text; + token.type = Token_Key_Hex; + } else if(isdigit(c)) { + token.type = Token_Key; + } else if(isalpha(c)) { + eat_identifier(tokenizer); token.length = tokenizer->at - token.text; - token.type = Token_Command; - } break; - case '#': - { - eat_comment(tokenizer); - token = get_token(tokenizer); - } break; - default: - { - if(c == '0' && *tokenizer->at == 'x') { - advance(tokenizer); - eat_hex(tokenizer); - token.length = tokenizer->at - token.text; - token.type = Token_Key_Hex; - } else if(isdigit(c)) { - token.type = Token_Key; - } else if(isalpha(c)) { - eat_identifier(tokenizer); - token.length = tokenizer->at - token.text; - token.type = resolve_identifier_type(token); - } else { - token.type = Token_Unknown; - } - } break; + token.type = resolve_identifier_type(token); + } else { + token.type = Token_Unknown; + } + } break; } return token; |