forked from amix/vimrc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added: vim-ruby, typescript-vim, vim-javascript Updated: rust-vim
- Loading branch information
Showing
108 changed files
with
12,437 additions
and
898 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
sudo: required | ||
services: | ||
- docker | ||
language: generic | ||
script: | | ||
cd test && ./run-tests |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
cmdargs: | ||
# Checking more strictly | ||
severity: style_problem | ||
|
||
policies: | ||
# Disable a violation | ||
ProhibitUnnecessaryDoubleQuote: | ||
enabled: false | ||
ProhibitImplicitScopeVariable: | ||
enabled: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<!-- | ||
Hi, and thanks for reporting an issue with rust.vim. | ||
Details about your environment will help us assist you. | ||
Please edit this template! | ||
--> | ||
|
||
* rust.vim version: <!-- Describe if you use a Vim plugin manager, and you | ||
can use it to tell which version of rust.vim you are running. --> | ||
|
||
Steps to reproduce: | ||
|
||
<!-- It's best to try to reproduce the issue with the master version of | ||
rust.vim. The issue may already be fixed! --> | ||
_?_ | ||
|
||
Expected vs. actual behavior: | ||
|
||
_?_ | ||
|
||
Paste debugging info from the Rust Vim plugin via _one_ of the following | ||
commands: `:RustInfo`, `:RustInfoToClipboard`, or `:RustInfoToFile <filename>`. | ||
|
||
_?_ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,85 +1,115 @@ | ||
function! cargo#Load() | ||
" Utility call to get this script loaded, for debugging | ||
endfunction | ||
|
||
function! cargo#cmd(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo ". a:args | ||
execute "! cargo" a:args | ||
endfunction | ||
|
||
function! s:nearest_cargo(...) abort | ||
" If the second argument is not specified, the first argument determines | ||
" whether we will start from the current directory or the directory of the | ||
" current buffer, otherwise, we start with the provided path on the | ||
" second argument. | ||
|
||
let l:is_getcwd = get(a:, 1, 0) | ||
if l:is_getcwd | ||
let l:starting_path = get(a:, 2, getcwd()) | ||
else | ||
echom "Missing arguments" | ||
let l:starting_path = get(a:, 2, expand('%:p:h')) | ||
endif | ||
|
||
return findfile('Cargo.toml', l:starting_path . ';') | ||
endfunction | ||
|
||
function! cargo#build(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo build " . a:args | ||
else | ||
execute "!" . "cargo build" | ||
function! cargo#nearestCargo(is_getcwd) abort | ||
return s:nearest_cargo(a:is_getcwd) | ||
endfunction | ||
|
||
function! cargo#nearestWorkspaceCargo(is_getcwd) abort | ||
let l:nearest = s:nearest_cargo(a:is_getcwd) | ||
while l:nearest !=# '' | ||
for l:line in readfile(l:nearest, '', 0x100) | ||
if l:line =~# '\V[workspace]' | ||
return l:nearest | ||
endif | ||
endfor | ||
let l:next = fnamemodify(l:nearest, ':p:h:h') | ||
let l:nearest = s:nearest_cargo(0, l:next) | ||
endwhile | ||
return '' | ||
endfunction | ||
|
||
function! cargo#nearestRootCargo(is_getcwd) abort | ||
" Try to find a workspace Cargo.toml, and if not found, take the nearest | ||
" regular Cargo.toml | ||
let l:workspace_cargo = cargo#nearestWorkspaceCargo(a:is_getcwd) | ||
if l:workspace_cargo !=# '' | ||
return l:workspace_cargo | ||
endif | ||
silent! clear | ||
execute "!" . "cargo build" | ||
return s:nearest_cargo(a:is_getcwd) | ||
endfunction | ||
|
||
|
||
function! cargo#build(args) | ||
call cargo#cmd("build " . a:args) | ||
endfunction | ||
|
||
function! cargo#clean(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo clean " . a:args | ||
else | ||
execute "!" . "cargo clean" | ||
endif | ||
silent! clear | ||
execute "!" . "cargo clean" | ||
call cargo#cmd("clean " . a:args) | ||
endfunction | ||
|
||
function! cargo#doc(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo doc " . a:args | ||
else | ||
execute "!" . "cargo doc" | ||
endif | ||
call cargo#cmd("doc " . a:args) | ||
endfunction | ||
|
||
function! cargo#new(args) | ||
silent! clear | ||
if !a:args | ||
execute "!cargo new " . a:args | ||
:cd `=a:args` | ||
else | ||
echom "Missing arguments" | ||
endif | ||
call cargo#cmd("new " . a:args) | ||
cd `=a:args` | ||
endfunction | ||
|
||
function! cargo#init(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo init " . a:args | ||
else | ||
execute "!" . "cargo init" | ||
endif | ||
call cargo#cmd("init " . a:args) | ||
endfunction | ||
|
||
function! cargo#run(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo run " . a:args | ||
else | ||
execute "!" . "cargo run" | ||
endif | ||
call cargo#cmd("run " . a:args) | ||
endfunction | ||
|
||
function! cargo#test(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo test " . a:args | ||
else | ||
execute "!" . "cargo test" | ||
endif | ||
call cargo#cmd("test " . a:args) | ||
endfunction | ||
|
||
function! cargo#bench(args) | ||
silent! clear | ||
if !a:args | ||
execute "!" . "cargo bench " . a:args | ||
else | ||
execute "!" . "cargo bench" | ||
call cargo#cmd("bench " . a:args) | ||
endfunction | ||
|
||
function! cargo#runtarget(args) | ||
let l:filename = expand('%:p') | ||
let l:read_manifest = system('cargo read-manifest') | ||
let l:metadata = json_decode(l:read_manifest) | ||
let l:targets = get(l:metadata, 'targets', []) | ||
let l:did_run = 0 | ||
for l:target in l:targets | ||
let l:src_path = get(l:target, 'src_path', '') | ||
let l:kinds = get(l:target, 'kind', []) | ||
let l:name = get(l:target, 'name', '') | ||
if l:src_path == l:filename | ||
if index(l:kinds, 'example') != -1 | ||
let l:did_run = 1 | ||
call cargo#run("--example " . shellescape(l:name) . " " . a:args) | ||
return | ||
elseif index(l:kinds, 'bin') != -1 | ||
let l:did_run = 1 | ||
call cargo#run("--bin " . shellescape(l:name) . " " . a:args) | ||
return | ||
endif | ||
endif | ||
endfor | ||
if l:did_run != 1 | ||
call cargo#run(a:args) | ||
return | ||
endif | ||
endfunction | ||
|
||
" vim: set et sw=4 sts=4 ts=8: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
function! cargo#quickfix#CmdPre() abort | ||
if &filetype ==# 'rust' && get(b:, 'current_compiler', '') ==# 'cargo' | ||
" Preserve the current directory, and 'lcd' to the nearest Cargo file. | ||
let b:rust_compiler_cargo_qf_has_lcd = haslocaldir() | ||
let b:rust_compiler_cargo_qf_prev_cd = getcwd() | ||
let b:rust_compiler_cargo_qf_prev_cd_saved = 1 | ||
let l:nearest = fnamemodify(cargo#nearestRootCargo(0), ':h') | ||
execute 'lchdir! '.l:nearest | ||
else | ||
let b:rust_compiler_cargo_qf_prev_cd_saved = 0 | ||
endif | ||
endfunction | ||
|
||
function! cargo#quickfix#CmdPost() abort | ||
if exists("b:rust_compiler_cargo_qf_prev_cd_saved") && b:rust_compiler_cargo_qf_prev_cd_saved | ||
" Restore the current directory. | ||
if b:rust_compiler_cargo_qf_has_lcd | ||
execute 'lchdir! '.b:rust_compiler_cargo_qf_prev_cd | ||
else | ||
execute 'chdir! '.b:rust_compiler_cargo_qf_prev_cd | ||
endif | ||
let b:rust_compiler_cargo_qf_prev_cd_saved = 0 | ||
endif | ||
endfunction | ||
|
||
" vim: set et sw=4 sts=4 ts=8: |
Oops, something went wrong.