// File: /workspace/github_c_makefile_star2_O1/justy989[P]ce/ce_app.c
// Function: determine_buffer_syntax
void determine_buffer_syntax(CeBuffer_t* buffer){
     CeAppBufferData_t* buffer_data = buffer->app_data;

     if(string_ends_with(buffer->name, ".c") ||
        string_ends_with(buffer->name, ".h") ||
        string_ends_with(buffer->name, ".js")){
          buffer_data->syntax_function = ce_syntax_highlight_c;
     }else if(string_ends_with(buffer->name, ".cpp") ||
              string_ends_with(buffer->name, ".hpp") ||
              string_ends_with(buffer->name, ".hh") ||
              string_ends_with(buffer->name, ".cc")){
          buffer_data->syntax_function = ce_syntax_highlight_cpp;
     }else if(string_ends_with(buffer->name, ".py")){
          buffer_data->syntax_function = ce_syntax_highlight_python;
     }else if(string_ends_with(buffer->name, ".java")){
          buffer_data->syntax_function = ce_syntax_highlight_java;
     }else if(string_ends_with(buffer->name, ".sh")){
          buffer_data->syntax_function = ce_syntax_highlight_bash;
     }else if(string_ends_with(buffer->name, ".cfg")){
          buffer_data->syntax_function = ce_syntax_highlight_config;
     }else if(string_ends_with(buffer->name, ".diff") ||
              string_ends_with(buffer->name, ".patch") ||
              string_ends_with(buffer->name, "COMMIT_EDITMSG")){
          buffer_data->syntax_function = ce_syntax_highlight_diff;
     }else{
          buffer_data->syntax_function = ce_syntax_highlight_plain;
     }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq 0x10(%rdi), %rbx
movq 0x58(%rdi), %r14
leaq 0x1cc4b(%rip), %rsi     # 0x2e67a
movq %rbx, %rdi
callq 0x11bda
leaq 0xe480(%rip), %r15      # 0x1febe
testb %al, %al
jne 0x11b9d
leaq 0x1ce18(%rip), %rsi     # 0x2e865
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
jne 0x11b9d
leaq 0x1ce04(%rip), %rsi     # 0x2e868
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
jne 0x11b9d
leaq 0x1cdf1(%rip), %rsi     # 0x2e86c
movq %rbx, %rdi
callq 0x11bda
leaq 0xeebd(%rip), %r15      # 0x20947
testb %al, %al
jne 0x11b9d
leaq 0x1cdd8(%rip), %rsi     # 0x2e871
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
jne 0x11b9d
leaq 0x1cdc6(%rip), %rsi     # 0x2e876
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
jne 0x11b9d
leaq 0x1cdb3(%rip), %rsi     # 0x2e87a
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
jne 0x11b9d
leaq 0x1cda0(%rip), %rsi     # 0x2e87e
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
je 0x11af6
leaq 0xf894(%rip), %r15      # 0x21385
jmp 0x11b9d
leaq 0x1cd85(%rip), %rsi     # 0x2e882
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
je 0x11b15
leaq 0xf40d(%rip), %r15      # 0x20f1d
jmp 0x11b9d
leaq 0x1cd6c(%rip), %rsi     # 0x2e888
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
je 0x11b31
leaq 0xfe74(%rip), %r15      # 0x219a3
jmp 0x11b9d
leaq 0x1cd54(%rip), %rsi     # 0x2e88c
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
je 0x11b4d
leaq 0x101ad(%rip), %r15     # 0x21cf8
jmp 0x11b9d
leaq 0x1cd3d(%rip), %rsi     # 0x2e891
movq %rbx, %rdi
callq 0x11bda
leaq 0x104ea(%rip), %r15     # 0x2204d
testb %al, %al
jne 0x11b9d
leaq 0x1cd29(%rip), %rsi     # 0x2e897
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
jne 0x11b9d
leaq 0x1cd1d(%rip), %rsi     # 0x2e89e
movq %rbx, %rdi
callq 0x11bda
testb %al, %al
je 0x11b96
leaq 0x104b9(%rip), %r15     # 0x2204d
jmp 0x11b9d
leaq 0x106fc(%rip), %r15     # 0x22299
movq %r15, 0x600(%r14)
popq %rbx
popq %r14
popq %r15
retq