diff --git a/autoload/SpaceVim/layers/lang/java.vim b/autoload/SpaceVim/layers/lang/java.vim index 43c02a33d..d8fa3ead0 100644 --- a/autoload/SpaceVim/layers/lang/java.vim +++ b/autoload/SpaceVim/layers/lang/java.vim @@ -186,6 +186,18 @@ function! SpaceVim#layers#lang#java#config() abort endif call SpaceVim#layers#edit#add_ft_head_tamplate('java', s:java_file_head) call SpaceVim#plugins#projectmanager#reg_callback(function('s:handle_java_project_changed')) + call SpaceVim#plugins#tasks#reg_provider(function('s:maven_tasks')) +endfunction + +function! s:maven_tasks() abort + let detect_task = {} + let conf = {} + if filereadable('pom.xml') + call extend(detect_task, { + \ 'compile' : {'command' : 'mvn', 'args' : ['compile'], 'isDetected' : 1, 'detectedName' : 'mvn:'} + \ }) + endif + return detect_task endfunction function! s:handle_java_project_changed() abort diff --git a/lua/telescope/_extensions/task.lua b/lua/telescope/_extensions/task.lua index 8852b85b2..ac8a7572d 100644 --- a/lua/telescope/_extensions/task.lua +++ b/lua/telescope/_extensions/task.lua @@ -38,11 +38,13 @@ local function show_taskconfig(opts) desc = desc .. ' ' .. table.concat(entry.value.task.args, ' ') end end + local task_name = entry.value.name local task_type = 'local' if entry.value.task.isGlobal == 1 then task_type = 'global' elseif entry.value.task.isDetected == 1 then task_type = 'detected' + task_name = (entry.value.task.detectedName or '') .. task_name end -- @todo the text maybe changed local background = 'no-background' @@ -50,7 +52,7 @@ local function show_taskconfig(opts) background = 'background' end return displayer({ - { '[' .. entry.value.name .. ']', 'TelescopeResultsVariable' }, + { '[' .. task_name .. ']', 'TelescopeResultsVariable' }, { '[' .. task_type .. ']', 'TelescopeResultsNumber' }, { '[' .. background .. ']', 'TelescopeResultsNumber' }, { desc, 'TelescopeResultsComment' },