Some checks failed
		
		
	
	Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
				
			Detach Plugins / check (GitHub.vim) (push) Has been cancelled
				
			Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
				
			Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
				
			Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
				
			Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
				
			Detach Plugins / check (git.vim) (push) Has been cancelled
				
			Detach Plugins / check (iedit.vim) (push) Has been cancelled
				
			Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
				
			Detach Plugins / check (vim-chat) (push) Has been cancelled
				
			Detach Plugins / check (vim-cheat) (push) Has been cancelled
				
			Detach Plugins / check (vim-todo) (push) Has been cancelled
				
			Detach Plugins / check (xmake.vim) (push) Has been cancelled
				
			test / Linux (nvim, nightly) (push) Has been cancelled
				
			test / Linux (nvim, v0.3.8) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.2) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.3) (push) Has been cancelled
				
			test / Linux (nvim, v0.4.4) (push) Has been cancelled
				
			test / Linux (nvim, v0.5.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.5.1) (push) Has been cancelled
				
			test / Linux (nvim, v0.6.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.6.1) (push) Has been cancelled
				
			test / Linux (nvim, v0.7.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.7.2) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.1) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.2) (push) Has been cancelled
				
			test / Linux (nvim, v0.8.3) (push) Has been cancelled
				
			test / Linux (nvim, v0.9.0) (push) Has been cancelled
				
			test / Linux (nvim, v0.9.1) (push) Has been cancelled
				
			test / Linux (true, vim, v7.4.052) (push) Has been cancelled
				
			test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
				
			test / Linux (true, vim, v7.4.629) (push) Has been cancelled
				
			test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
				
			test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
				
			test / Linux (vim, nightly) (push) Has been cancelled
				
			test / Linux (vim, v8.0.0184) (push) Has been cancelled
				
			test / Linux (vim, v8.0.1453) (push) Has been cancelled
				
			test / Linux (vim, v8.1.2269) (push) Has been cancelled
				
			test / Linux (vim, v8.2.2434) (push) Has been cancelled
				
			test / Linux (vim, v8.2.3995) (push) Has been cancelled
				
			test / Windows (nvim, nightly) (push) Has been cancelled
				
			test / Windows (nvim, v0.3.8) (push) Has been cancelled
				
			test / Windows (nvim, v0.4.2) (push) Has been cancelled
				
			test / Windows (nvim, v0.4.3) (push) Has been cancelled
				
			test / Windows (nvim, v0.4.4) (push) Has been cancelled
				
			test / Windows (nvim, v0.5.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.5.1) (push) Has been cancelled
				
			test / Windows (nvim, v0.6.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.6.1) (push) Has been cancelled
				
			test / Windows (nvim, v0.7.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.7.2) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.1) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.2) (push) Has been cancelled
				
			test / Windows (nvim, v0.8.3) (push) Has been cancelled
				
			test / Windows (nvim, v0.9.0) (push) Has been cancelled
				
			test / Windows (nvim, v0.9.1) (push) Has been cancelled
				
			test / Windows (vim, nightly) (push) Has been cancelled
				
			test / Windows (vim, v7.4.1185) (push) Has been cancelled
				
			test / Windows (vim, v7.4.1689) (push) Has been cancelled
				
			test / Windows (vim, v8.0.0027) (push) Has been cancelled
				
			test / Windows (vim, v8.0.1453) (push) Has been cancelled
				
			test / Windows (vim, v8.1.2269) (push) Has been cancelled
				
			test / Windows (vim, v8.2.2434) (push) Has been cancelled
				
			test / Windows (vim, v8.2.3995) (push) Has been cancelled
				
			docker / docker (push) Has been cancelled
				
			mirror / check (coding) (push) Has been cancelled
				
			mirror / check (gitee) (push) Has been cancelled
				
			mirror / check (gitlab) (push) Has been cancelled
				
			
		
			
				
	
	
		
			144 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
"=============================================================================
 | 
						||
" sml.vim --- SpaceVim lang#sml layer
 | 
						||
" Copyright (c) 2016-2023 Wang Shidong & Contributors
 | 
						||
" Author: Tommy Tam < thawk009 # gmail.com >
 | 
						||
" URL: https://spacevim.org
 | 
						||
" License: GPLv3
 | 
						||
"=============================================================================
 | 
						||
 | 
						||
scriptencoding utf-8
 | 
						||
""
 | 
						||
" @section lang#sml, layers-lang-sml
 | 
						||
" @parentsection layers
 | 
						||
" This layer is for Standard ML development.
 | 
						||
" This layer provides basic syntax highlighting and code completion , and it
 | 
						||
" is disabled by default, to enable this
 | 
						||
" layer, add following snippet to your @section(options) file.
 | 
						||
" >
 | 
						||
"   [[layers]]
 | 
						||
"     name = 'lang#sml'
 | 
						||
" <
 | 
						||
"
 | 
						||
" You can run `:SMLCheckHealth` to check whether the environment if OK.
 | 
						||
"
 | 
						||
" @subsection Layer options
 | 
						||
"
 | 
						||
" `smlnj_path`: Set the path to the smlnj executable, by default, it is
 | 
						||
" `sml`.
 | 
						||
"
 | 
						||
" `mlton_path`: Set the path to the mlton executable, by default, it is
 | 
						||
" `mlton`.
 | 
						||
"
 | 
						||
" `repl_options`: Options used for REPL, by default, it is ''.
 | 
						||
"
 | 
						||
" `auto_create_def_use`: Whether to build def-use files on save automatically.
 | 
						||
" By default, it is `mlb`. Valid values is:
 | 
						||
" >
 | 
						||
"    'mlb': Auto build def-use if there's a *.mlb file
 | 
						||
"    'always': Always build def-use file
 | 
						||
"    'never': Never build def-use file
 | 
						||
" <
 | 
						||
"
 | 
						||
" `enable_conceal`: `0`/`1`. Whether to enable concealing for SML files. `0` by defaults.
 | 
						||
"    `'a` becomes `α` (or `'α`).
 | 
						||
"    `fn` becomes `λ.`
 | 
						||
"
 | 
						||
" `enable_conceal_show_tick`: `0`/`1`. When conceal is enabled, show `'α` for `'a` instead of `α`.
 | 
						||
"    Helps for alignment. `0` by default.
 | 
						||
"
 | 
						||
" `sml_file_head`: Template for new sml file.
 | 
						||
"
 | 
						||
" Here is an example how to use above options:
 | 
						||
" >
 | 
						||
"   [[layers]]
 | 
						||
"     name = "lang#sml"
 | 
						||
"     smlnj_path = "/usr/local/smlnj/bin/sml"
 | 
						||
"     mlton_path = "/usr/local/bin/mlton"
 | 
						||
"     repl_options = ''
 | 
						||
"     enable_conceal = 1
 | 
						||
"     enable_conceal_show_tick = 1
 | 
						||
"     auto_create_def_use = 'always'
 | 
						||
" <
 | 
						||
 | 
						||
if exists('s:sml_file_head')
 | 
						||
  finish
 | 
						||
else
 | 
						||
  let g:sml_auto_create_def_use = 'mlb'
 | 
						||
  let g:sml_greek_tyvar_show_tick = '0'
 | 
						||
  let g:sml_mlton_executable = 'mlton'
 | 
						||
  let g:sml_repl_options = []
 | 
						||
  let g:sml_smlnj_executable = 'sml'
 | 
						||
  let s:sml_enable_conceal = 0
 | 
						||
  let s:sml_file_head = ['']
 | 
						||
  let s:sml_repl_options = ''
 | 
						||
endif
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 | 
						||
function! SpaceVim#layers#lang#sml#plugins() abort
 | 
						||
  let l:plugins = []
 | 
						||
  call add(l:plugins, ['jez/vim-better-sml', { 'on_ft' : 'sml', 'build' : 'make' }])
 | 
						||
  return l:plugins
 | 
						||
endfunction
 | 
						||
 | 
						||
function! SpaceVim#layers#lang#sml#config() abort
 | 
						||
  call SpaceVim#layers#edit#add_ft_head_tamplate('sml', s:sml_file_head)
 | 
						||
  augroup spacevim_layer_lang_sml
 | 
						||
    autocmd!
 | 
						||
    " autocmd FileType sml setlocal omnifunc=SpaceVim#plugins#bashcomplete#omnicomplete
 | 
						||
    if s:sml_enable_conceal
 | 
						||
        autocmd FileType sml setlocal conceallevel=2
 | 
						||
    endif
 | 
						||
  augroup END
 | 
						||
  call SpaceVim#mapping#gd#add('sml', function('bettersml#jumptodef#JumpToDef'))
 | 
						||
  call SpaceVim#mapping#space#regesit_lang_mappings('sml', function('s:language_specified_mappings'))
 | 
						||
 | 
						||
  let l:runner = {
 | 
						||
        \ 'exe' : g:sml_smlnj_executable,
 | 
						||
        \ 'opt' : [],
 | 
						||
        \ 'usestdin' : 1,
 | 
						||
        \ }
 | 
						||
  call SpaceVim#plugins#runner#reg_runner('sml', l:runner)
 | 
						||
  call SpaceVim#plugins#repl#reg('sml', g:sml_smlnj_executable . s:sml_repl_options)
 | 
						||
endfunction
 | 
						||
 | 
						||
function! s:language_specified_mappings() abort
 | 
						||
  nnoremap <silent><buffer> K :call bettersml#typequery#TypeQuery()<CR>
 | 
						||
 | 
						||
  call SpaceVim#mapping#space#langSPC('nmap', ['l','r'],
 | 
						||
        \ 'call SpaceVim#plugins#runner#open()',
 | 
						||
        \ 'execute current file', 1)
 | 
						||
 | 
						||
  let g:_spacevim_mappings_space.l.s = {'name' : '+Send'}
 | 
						||
  call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'i'],
 | 
						||
        \ "call SpaceVim#plugins#repl#start('sml')",
 | 
						||
        \ 'start REPL process', 1)
 | 
						||
  call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'l'],
 | 
						||
        \ "call SpaceVim#plugins#repl#send('raw', getline('.') . ';')",
 | 
						||
        \ 'send line and keep code buffer focused', 1)
 | 
						||
  call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 'b'],
 | 
						||
        \ 'call SpaceVim#plugins#repl#send("raw", join(getline(1, "$"), "\n") . ";")',
 | 
						||
        \ 'send buffer and keep code buffer focused', 1)
 | 
						||
  call SpaceVim#mapping#space#langSPC('nmap', ['l','s', 's'],
 | 
						||
        \ 'call SpaceVim#plugins#repl#send("raw", join(getline("''<", "''>"), "\n") . ";")',
 | 
						||
        \ 'send selection and keep code buffer focused', 1)
 | 
						||
endfunction
 | 
						||
 | 
						||
function! SpaceVim#layers#lang#sml#set_variable(var) abort
 | 
						||
  let g:sml_smlnj_executable = get(a:var, 'smlnj_path', 'sml')
 | 
						||
  let g:sml_mlton_executable = get(a:var, 'mlton_path', 'mlton')
 | 
						||
  let g:sml_auto_create_def_use = get(a:var, 'auto_create_def_use', 'mlb')
 | 
						||
  let g:sml_greek_tyvar_show_tick = get(a:var, 'enable_conceal_show_tick', '0')
 | 
						||
  let s:sml_repl_options = get(a:var, 'repl_options', s:sml_repl_options)
 | 
						||
  let g:sml_repl_options = s:sml_repl_options
 | 
						||
  let s:sml_enable_conceal = get(a:var, 'enable_conceal', s:sml_enable_conceal)
 | 
						||
  let s:sml_file_head = get(a:var, 'sml_file_head', s:sml_file_head)
 | 
						||
endfunction
 | 
						||
 | 
						||
function! SpaceVim#layers#lang#sml#health() abort
 | 
						||
  call SpaceVim#layers#lang#sml#plugins()
 | 
						||
  call SpaceVim#layers#lang#sml#config()
 | 
						||
  return 1
 | 
						||
endfunction
 |