@@ -1708,17 +1708,7 @@ pub fn code_lens_under_cursor(cx: &mut Context) {
17081708 // TODO: fix the check
17091709 cl. range . start . line == pos. line
17101710 } )
1711- . map ( |cl| {
1712- // if cl.command.is_none() {
1713- // if let Some(req) = language_server.code_lens_resolve(cl.clone()) {
1714- // if let Some(code_lens) = block_on(req).ok().unwrap() {
1715- // log::info!("code_lense: resolved {:?} into {:?}", cl, code_lens);
1716- // return map_code_lens(doc, &code_lens);
1717- // }
1718- // }
1719- // }
1720- map_code_lens ( doc_text, cl, offset_encoding, language_server. id ( ) )
1721- } )
1711+ . map ( |cl| map_code_lens ( doc_text, cl, offset_encoding, language_server. id ( ) ) )
17221712 . collect ( ) ;
17231713
17241714 if lenses. is_empty ( ) {
@@ -1764,7 +1754,9 @@ pub fn code_lens_under_cursor(cx: &mut Context) {
17641754 } ;
17651755}
17661756
1767- pub fn code_lenses_picker ( cx : & mut Context ) {
1757+ // TODO: should be run the same way as diagnostic - shouldn't require manual
1758+ // trigger to set lenses.
1759+ pub fn request_code_lenses ( cx : & mut Context ) {
17681760 let doc = doc ! ( cx. editor) ;
17691761
17701762 let language_server =
@@ -1787,6 +1779,8 @@ pub fn code_lenses_picker(cx: &mut Context) {
17871779 request,
17881780 move |editor, compositor, lenses : Option < Vec < lsp:: CodeLens > > | {
17891781 if let Some ( lenses) = lenses {
1782+ log:: error!( "lenses got: {:?}" , lenses) ;
1783+
17901784 let doc = doc_mut ! ( editor, & doc_id) ;
17911785 let doc_text = doc. text ( ) ;
17921786 if let Some ( current_url) = doc. url ( ) {
@@ -1797,36 +1791,8 @@ pub fn code_lenses_picker(cx: &mut Context) {
17971791 . iter ( )
17981792 . map ( |l| map_code_lens ( doc_text, l, offset_enc, language_server_id) )
17991793 . collect ( ) ;
1800- log:: error!( "lenses got: {:?}" , lenses) ;
1801- doc. set_code_lens ( lenses. clone ( ) ) ;
1802- let picker = Picker :: new ( lenses, ( ) , |cx, meta, _action| {
1803- let doc = doc ! ( cx. editor) ;
1804- let language_server = language_server_with_feature ! (
1805- cx. editor,
1806- doc,
1807- LanguageServerFeature :: CodeLens
1808- ) ;
18091794
1810- if let Some ( cmd) = meta. command . clone ( ) {
1811- let future = match language_server. command ( cmd) {
1812- Some ( future) => future,
1813- None => {
1814- cx. editor . set_error (
1815- "Language server does not support executing commands" ,
1816- ) ;
1817- return ;
1818- }
1819- } ;
1820- tokio:: spawn ( async move {
1821- let res = future. await ;
1822-
1823- if let Err ( e) = res {
1824- log:: error!( "execute LSP command: {}" , e) ;
1825- }
1826- } ) ;
1827- }
1828- } ) ;
1829- compositor. push ( Box :: new ( picker) ) ;
1795+ doc. set_code_lens ( lenses. clone ( ) ) ;
18301796 } else {
18311797 editor. set_status ( "no lens found" ) ;
18321798 }
0 commit comments