zoukankan      html  css  js  c++  java
  • 绘制关键字高亮的字符串


        
    const char *word = pszLine;
        
    char word_buffer[EI_MAX_CHAR_NUM];
        
    int  addr = 0;
        
    bool last_word_is_space = false;
        
    while(1){
            
    if(word[0!= ' ' && word[0!= '\t' && word[0!= 0){
                
    if(last_word_is_space){
                    word_buffer[addr] 
    = 0;
                    addr 
    = 0;
                    set_text_color(EI_MAIN_WINDOW_TEXT_COLOR);
                    draw_text(word_buffer);
                }

                last_word_is_space 
    = false;
            }
    else{
                
    if(!last_word_is_space){
                    word_buffer[addr] 
    = 0;
                    addr 
    = 0;
                    
    bool is_keyword = false;
                    
    for(int i = 0; i < KEYWORD_TABLE_SIZE; ++i){
                        
    if(strcmp(word_buffer,keyword_table[i].name)==0){
                            is_keyword 
    = true;
                            set_text_color(keyword_table[i].color);
                            
    break;
                        }

                    }

                    
    if(!is_keyword)
                        set_text_color(EI_MAIN_WINDOW_TEXT_COLOR);
                    draw_text(word_buffer);
                }

                
    if(word[0== 0)
                    
    break;
                last_word_is_space 
    = true;
            }

            word_buffer[addr] 
    = word[0];
            
    ++addr;
            
    ++word;
        }

        draw_text(
    "\r\n");
  • 相关阅读:
    vmware中3中网络模式的区别
    常用 Git 命令清单 转
    inotify监控目录变化重启服务器tornado项目
    sed处理url编码解码=== web日志的url处理
    LVM 'Can’t open /dev/sdb1 exclusively. Mounted filesystem?' Problem
    Vimium使用快捷键总结
    sed 引入shell变量
    shell 除法 小数点
    selinux 导致无法启动httpd
    linux查看ssh用户登录日志与操作日志
  • 原文地址:https://www.cnblogs.com/len3d/p/222788.html
Copyright © 2011-2022 走看看