Ticket #205: 0002-Haskell-support.-Includes-non-new-files.patch

File 0002-Haskell-support.-Includes-non-new-files.patch, 10.9 kB (added by tux_rocker, 2 years ago)
  • a/ext/ohcount_native/generator.rb

    old new  
    3434      java = CMonoglot.new("java",               '//',             [e('/*'), e('*/')], true,  false) 
    3535      javascript = CMonoglot.new("javascript",   '//',             [e('/*'), e('*/')], true,  true) 
    3636      emacslisp = LineCommentMonoglot.new("emacslisp", ";") 
     37                        haskell = CMonoglot.new("haskell",         '--',             [e('{-'), e('-}')], true, false)   
    3738      lisp = LineCommentMonoglot.new("lisp", ";") 
    3839      lua = CMonoglot.new("lua",                 '--',             nil,                true,  true) 
    3940      matlab = CMonoglot.new("matlab",           '#|%',            ['{%', '%}'], false,true) 
     
    7273        dylan , 
    7374        erlang , 
    7475        groovy , 
     76                                haskell , 
    7577        java , 
    7678        javascript , 
    7779        emacslisp , 
  • a/ext/ohcount_native/polyglots.c

    old new  
    323323}; 
    324324 
    325325/***************************************************************************** 
     326                                    haskell 
     327*****************************************************************************/ 
     328/* States */ 
     329State HASKELL_CODE = { "HASKELL_CODE", "haskell", semantic_code }; 
     330State HASKELL_DQUOTE_STRING = { "HASKELL_DQUOTE_STRING", "haskell", semantic_code }; 
     331State HASKELL_SQUOTE_STRING = { "HASKELL_SQUOTE_STRING", "haskell", semantic_code }; 
     332State HASKELL_LINE_COMMENT = { "HASKELL_LINE_COMMENT", "haskell", semantic_comment }; 
     333State HASKELL_BLOCK_COMMENT = { "HASKELL_BLOCK_COMMENT", "haskell", semantic_comment }; 
     334State *HASKELL_STATES[] = { &HASKELL_CODE, &HASKELL_DQUOTE_STRING, &HASKELL_SQUOTE_STRING, &HASKELL_LINE_COMMENT, &HASKELL_BLOCK_COMMENT, NULL }; 
     335/* Transitions */ 
     336Transition HASKELL_CODE__LINE_COMMENT_0 = { "--", &HASKELL_CODE, &HASKELL_LINE_COMMENT, ToEatsToken, false }; 
     337Transition HASKELL_LINE_COMMENT__RETURN = { "\n", &HASKELL_LINE_COMMENT, RETURN, FromEatsToken, false }; 
     338Transition HASKELL_CODE__BLOCK_COMMENT_0 = { "{\\-", &HASKELL_CODE, &HASKELL_BLOCK_COMMENT, ToEatsToken, false }; 
     339Transition HASKELL_BLOCK_COMMENT__RETURN_0 = { "\\-}", &HASKELL_BLOCK_COMMENT, RETURN, FromEatsToken, false }; 
     340Transition HASKELL_CODE__DQUOTE_STRING = { "\"", &HASKELL_CODE, &HASKELL_DQUOTE_STRING, ToEatsToken, false }; 
     341Transition HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH = { "\\\\\\\\", &HASKELL_DQUOTE_STRING, &HASKELL_DQUOTE_STRING, ToEatsToken, true }; 
     342Transition HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC = { "\\\\\"", &HASKELL_DQUOTE_STRING, &HASKELL_DQUOTE_STRING, ToEatsToken, true }; 
     343Transition HASKELL_DQUOTE_STRING__RETURN = { "\"", &HASKELL_DQUOTE_STRING, RETURN, FromEatsToken, false }; 
     344Transition *HASKELL_TRANSITIONS[] = { &HASKELL_CODE__LINE_COMMENT_0, &HASKELL_LINE_COMMENT__RETURN, &HASKELL_CODE__BLOCK_COMMENT_0, &HASKELL_BLOCK_COMMENT__RETURN_0, &HASKELL_CODE__DQUOTE_STRING, &HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC_SLASH, &HASKELL_DQUOTE_STRING__DQUOTE_STRING_ESC, &HASKELL_DQUOTE_STRING__RETURN, NULL}; 
     345Polyglot HASKELL_POLYGLOT = { 
     346  "haskell", 
     347      HASKELL_STATES, 
     348      HASKELL_TRANSITIONS, 
     349  NULL 
     350}; 
     351 
     352/***************************************************************************** 
    326353                                      java 
    327354*****************************************************************************/ 
    328355/* States */ 
     
    10211048  &DYLAN_POLYGLOT, 
    10221049  &ERLANG_POLYGLOT, 
    10231050  &GROOVY_POLYGLOT, 
     1051  &HASKELL_POLYGLOT, 
    10241052  &JAVA_POLYGLOT, 
    10251053  &JAVASCRIPT_POLYGLOT, 
    10261054  &EMACSLISP_POLYGLOT, 
  • a/lib/ohcount/detector.rb

    old new  
    120120    '.hpp'  => "cncpp", 
    121121    '.hh'   => "cncpp", 
    122122    '.hrl'  => "erlang", 
     123                '.hs'   => "haskell", 
    123124    '.htm'  => "html", 
    124125    '.html' => "html", 
    125126    '.inc'  => :disambiguate_inc, 
  • a/test/expected_dir/haskell1.hs/haskell/blanks

    old new  
  • a/test/expected_dir/haskell1.hs/haskell/code

    old new  
  • a/test/expected_dir/haskell1.hs/haskell/comment

    old new  
  • a/test/expected_dir/haskell2.hs/haskell/blanks

    old new  
  • a/test/expected_dir/haskell2.hs/haskell/code

    old new  
  • a/test/expected_dir/haskell2.hs/haskell/comment

    old new  
  • a/test/src_dir/haskell2.hs

    old new  
    11    {-| 
     2 
    23    -} 
    34 
  • a/test/unit/haskell_test.rb

    old new  
    1313                verify_parse("haskell1.hs") 
    1414        end 
    1515 
    16         def test_comprehensive 
     16        def test_comprehensive_with_carriage_returns 
    1717                verify_parse("haskell2.hs") 
    1818        end 
    1919end