// File: /workspace/github_c_makefile_star2_O3/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 0x1be60(%rip), %rsi     # 0x2d67a
movq %rbx, %rdi
callq 0x119c5
leaq 0xe5f4(%rip), %r15      # 0x1fe1d
testb %al, %al
jne 0x11988
leaq 0x1c02f(%rip), %rsi     # 0x2d867
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
jne 0x11988
leaq 0x1c01b(%rip), %rsi     # 0x2d86a
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
jne 0x11988
leaq 0x1c008(%rip), %rsi     # 0x2d86e
movq %rbx, %rdi
callq 0x119c5
leaq 0xefd5(%rip), %r15      # 0x2084a
testb %al, %al
jne 0x11988
leaq 0x1bfef(%rip), %rsi     # 0x2d873
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
jne 0x11988
leaq 0x1bfdd(%rip), %rsi     # 0x2d878
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
jne 0x11988
leaq 0x1bfca(%rip), %rsi     # 0x2d87c
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
jne 0x11988
leaq 0x1bfb7(%rip), %rsi     # 0x2d880
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
je 0x118e1
leaq 0xfa36(%rip), %r15      # 0x21312
jmp 0x11988
leaq 0x1bf9c(%rip), %rsi     # 0x2d884
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
je 0x11900
leaq 0xf57d(%rip), %r15      # 0x20e78
jmp 0x11988
leaq 0x1bf83(%rip), %rsi     # 0x2d88a
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
je 0x1191c
leaq 0xfff1(%rip), %r15      # 0x2190b
jmp 0x11988
leaq 0x1bf6b(%rip), %rsi     # 0x2d88e
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
je 0x11938
leaq 0x103a2(%rip), %r15     # 0x21cd8
jmp 0x11988
leaq 0x1bf54(%rip), %rsi     # 0x2d893
movq %rbx, %rdi
callq 0x119c5
leaq 0x10757(%rip), %r15     # 0x220a5
testb %al, %al
jne 0x11988
leaq 0x1bf40(%rip), %rsi     # 0x2d899
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
jne 0x11988
leaq 0x1bf34(%rip), %rsi     # 0x2d8a0
movq %rbx, %rdi
callq 0x119c5
testb %al, %al
je 0x11981
leaq 0x10726(%rip), %r15     # 0x220a5
jmp 0x11988
leaq 0x1096c(%rip), %r15     # 0x222f4
movq %r15, 0x600(%r14)
popq %rbx
popq %r14
popq %r15
retq