<commit_before>" MIT License. Copyright (c) 2013 <NAME>.
" vim: ts=2 sts=2 sw=2 fdm=indent

" generates a dictionary which defines the colors for each highlight group
function! airline#themes#generate_color_map(section1, section2, section3, file)
  "                       guifg           guibg           ctermfg         ctermbg         gui/term
  return {
      \ 'airline_a':    [ a:section1[0] , a:section1[1] , a:section1[2] , a:section1[3] , get(a:section1 , 4 , 'bold') ] ,
      \ 'airline_b':    [ a:section2[0] , a:section2[1] , a:section2[2] , a:section2[3] , get(a:section2 , 4 , ''    ) ] ,
      \ 'airline_c':    [ a:section3[0] , a:section3[1] , a:section3[2] , a:section3[3] , get(a:section3 , 4 , ''    ) ] ,
      \ 'airline_file': [ a:file[0]     , a:file[1]     , a:file[2]     , a:file[3]     , get(a:file     , 4 , ''    ) ] ,
      \ }
endfunction

function! s:get_syn(group, what)
  " need to pass in mode, known to break on 7.3.547
  let mode = has('gui_running') ? 'gui' : 'cterm'
  let color = synIDattr(synIDtrans(hlID(a:group)), a:what, mode)
  if empty(color) || color == -1
    let color = synIDattr(synIDtrans(hlID('Normal')), a:what, mode)
  endif
  if empty(color) || color == -1
    if has('gui_running')
      let color = a:what ==# 'fg' ? '#000000' : '#FFFFFF'
    else
      let color = a:what ==# 'fg' ? 0 : 1
    endif
  endif
  return color
endfunction

function! s:get_array(fg, bg, opts)
  let fg = a:fg
  let bg = a:bg
  return has('gui_running')
        \ ? [ fg, bg, '', '', join(a:opts, ',') ]
        \ : [ '', '', fg, bg, join(a:opts, ',') ]
endfunction

function! airline#themes#get_highlight(group, ...)
  let fg = s:get_syn(a:group, 'fg')
  let bg = s:get_syn(a:group, 'bg')
  return s:get_array(fg, bg, a:000)
endfunction

function! airline#themes#get_highlight2(fg, bg, ...)
  let fg = s:get_syn(a:fg[0], a:fg[1])
  let bg = s:get_syn(a:bg[0], a:bg[1])
  return s:get_array(fg, bg, a:000)
endfunction

function! airline#themes#patch(palette)
  " this is a pretty heavy handed, but it works...
  " basically, look for the 'airline_file' group and copy the bg
  " colors from 'airline_c' into it.
  for mode in keys(a:palette)
    let overrides = split(mode, '_')
    if len(overrides) > 1
      let mode_colors = a:palette[overrides[0]]
      let file_colors = mode_colors.airline_file
      let file_colors[1] = mode_colors.airline_c[1]
      let file_colors[3] = mode_colors.airline_c[3]

      let override_colors = a:palette[overrides[0].'_'.overrides[1]]
      let override_colors.airline_file = copy(file_colors)
      let override_status_colors = get(override_colors, 'airline_c', mode_colors.airline_c)
      let override_colors.airline_file[1] = override_status_colors[1]
      let override_colors.airline_file[3] = override_status_colors[3]
    endif
  endfor
endfunction
<commit_msg>fix error when using simple theme<commit_after>" MIT License. Copyright (c) 2013 <NAME>.
" vim: ts=2 sts=2 sw=2 fdm=indent

" generates a dictionary which defines the colors for each highlight group
function! airline#themes#generate_color_map(section1, section2, section3, file)
  "                       guifg           guibg           ctermfg         ctermbg         gui/term
  return {
      \ 'airline_a':    [ a:section1[0] , a:section1[1] , a:section1[2] , a:section1[3] , get(a:section1 , 4 , 'bold') ] ,
      \ 'airline_b':    [ a:section2[0] , a:section2[1] , a:section2[2] , a:section2[3] , get(a:section2 , 4 , ''    ) ] ,
      \ 'airline_c':    [ a:section3[0] , a:section3[1] , a:section3[2] , a:section3[3] , get(a:section3 , 4 , ''    ) ] ,
      \ 'airline_file': [ a:file[0]     , a:file[1]     , a:file[2]     , a:file[3]     , get(a:file     , 4 , ''    ) ] ,
      \ }
endfunction

function! s:get_syn(group, what)
  " need to pass in mode, known to break on 7.3.547
  let mode = has('gui_running') ? 'gui' : 'cterm'
  let color = synIDattr(synIDtrans(hlID(a:group)), a:what, mode)
  if empty(color) || color == -1
    let color = synIDattr(synIDtrans(hlID('Normal')), a:what, mode)
  endif
  if empty(color) || color == -1
    if has('gui_running')
      let color = a:what ==# 'fg' ? '#000000' : '#FFFFFF'
    else
      let color = a:what ==# 'fg' ? 0 : 1
    endif
  endif
  return color
endfunction

function! s:get_array(fg, bg, opts)
  let fg = a:fg
  let bg = a:bg
  return has('gui_running')
        \ ? [ fg, bg, '', '', join(a:opts, ',') ]
        \ : [ '', '', fg, bg, join(a:opts, ',') ]
endfunction

function! airline#themes#get_highlight(group, ...)
  let fg = s:get_syn(a:group, 'fg')
  let bg = s:get_syn(a:group, 'bg')
  return s:get_array(fg, bg, a:000)
endfunction

function! airline#themes#get_highlight2(fg, bg, ...)
  let fg = s:get_syn(a:fg[0], a:fg[1])
  let bg = s:get_syn(a:bg[0], a:bg[1])
  return s:get_array(fg, bg, a:000)
endfunction

function! airline#themes#patch(palette)
  " this is a pretty heavy handed, but it works...
  " basically, look for the 'airline_file' group and copy the bg
  " colors from 'airline_c' into it.
  for mode in keys(a:palette)
    let overrides = split(mode, '_')
    if len(overrides) > 1
      let mode_colors = a:palette[overrides[0]]
      if exists('mode_colors.airline_file')
        let file_colors = mode_colors.airline_file
        let file_colors[1] = mode_colors.airline_c[1]
        let file_colors[3] = mode_colors.airline_c[3]

        let override_colors = a:palette[overrides[0].'_'.overrides[1]]
        let override_colors.airline_file = copy(file_colors)
        let override_status_colors = get(override_colors, 'airline_c', mode_colors.airline_c)
        let override_colors.airline_file[1] = override_status_colors[1]
        let override_colors.airline_file[3] = override_status_colors[3]
      endif
    endif
  endfor
endfunction

{'fraction_non_alphanumeric': 0.15364673349464225, 'fraction_numerical': 0.028689941237469756, 'mean_word_length': 3.199564586357039, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '939220', 'n_tokens_mistral': 2254, 'n_tokens_neox': 2174, 'n_words': 486}