From 52bbc0c408097b0b3f147983c92753cb290638fb Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Sat, 16 Jan 2021 12:21:49 +0800 Subject: [PATCH] Add language aliases (#4044) --- autoload/SpaceVim/api/language.vim | 32 ++++++++++++++++++++ autoload/SpaceVim/layers/core/statusline.vim | 4 ++- 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 autoload/SpaceVim/api/language.vim diff --git a/autoload/SpaceVim/api/language.vim b/autoload/SpaceVim/api/language.vim new file mode 100644 index 000000000..a60475314 --- /dev/null +++ b/autoload/SpaceVim/api/language.vim @@ -0,0 +1,32 @@ +"============================================================================= +" language.vim --- programming language information layer +" Copyright (c) 2016-2019 Wang Shidong & Contributors +" Author: Wang Shidong < wsdjeg@outlook.com > +" URL: https://spacevim.org +" License: GPLv3 +"============================================================================= + + +let s:self = {} + +let s:self.__aliases = { + \ 'typescript' : 'TypeScript', + \ 'typescriptreact' : 'TypeScript React', + \ 'python' : 'Python', + \ 'java' : 'Java', + \ } + + +function! s:self.get_alias(filetype) abort + if !empty(a:filetype) && has_key(self.__aliases, a:filetype) + return self.__aliases[a:filetype] + else + return a:filetype + endif +endfunction + +function! SpaceVim#api#language#get() abort + return deepcopy(s:self) +endfunction + + diff --git a/autoload/SpaceVim/layers/core/statusline.vim b/autoload/SpaceVim/layers/core/statusline.vim index 02d182ff3..d44389236 100644 --- a/autoload/SpaceVim/layers/core/statusline.vim +++ b/autoload/SpaceVim/layers/core/statusline.vim @@ -27,6 +27,7 @@ let s:STATUSLINE = SpaceVim#api#import('vim#statusline') let s:VIMCOMP = SpaceVim#api#import('vim#compatible') let s:SYSTEM = SpaceVim#api#import('system') let s:ICON = SpaceVim#api#import('unicode#icon') +let s:LANG = SpaceVim#api#import('language') let s:JSON = SpaceVim#api#import('data#json') @@ -153,7 +154,8 @@ function! s:fileformat() abort endfunction function! s:major_mode() abort - return '%{empty(&ft)? "" : " " . &ft . " "}' + let alias = s:LANG.get_alias(&filetype) + return empty(alias) ? '' : ' ' . alias . ' ' endfunction function! s:modes() abort