From 4063d58e4d6658f93427921789d0efdba8b32bfa Mon Sep 17 00:00:00 2001 From: Christian Nieves Date: Tue, 27 Dec 2022 20:04:37 +0000 Subject: [PATCH] telescope mappings --- vim/.vim/lua/config/lsp.lua | 4 +- vim/.vim/lua/config/telescope.lua | 163 +++++++++++++----------------- vim/.vim/lua/plugins.lua | 9 +- vim/.vim/prefs/google.vim | 2 + 4 files changed, 79 insertions(+), 99 deletions(-) diff --git a/vim/.vim/lua/config/lsp.lua b/vim/.vim/lua/config/lsp.lua index fa47384..651f082 100644 --- a/vim/.vim/lua/config/lsp.lua +++ b/vim/.vim/lua/config/lsp.lua @@ -18,7 +18,7 @@ if use_google() then configs.ciderlsp = { default_config = { cmd = { "/google/bin/releases/cider/ciderlsp/ciderlsp", "--tooltag=nvim-cmp", "--forward_sync_responses" }, - filetypes = { "c", "cpp", "java", "kotlin", "objc", "proto", "textproto", "go", "python", "bzl" }, + filetypes = { "c", "cpp", "java", "kotlin", "objc", "proto", "textproto", "go", "python", "bzl", "typescript"}, -- root_dir = lspconfig.util.root_pattern("BUILD"), root_dir = function(fname) return string.match(fname, '(/google/src/cloud/[%w_-]+/[%w_-]+/google3/).+$') @@ -30,7 +30,7 @@ if use_google() then configs.analysislsp = { default_config = { cmd = { '/google/bin/users/lerm/glint-ale/analysis_lsp/server', '--lint_on_save=false', '--max_qps=10' }, - filetypes = { "c", "cpp", "java", "kotlin", "objc", "proto", "textproto", "go", "python", "bzl" }, + filetypes = { "c", "cpp", "java", "kotlin", "objc", "proto", "textproto", "go", "python", "bzl", "markdown","typescript", "javascript"}, -- root_dir = lspconfig.util.root_pattern('BUILD'), root_dir = function(fname) return string.match(fname, '(/google/src/cloud/[%w_-]+/[%w_-]+/google3/).+$') diff --git a/vim/.vim/lua/config/telescope.lua b/vim/.vim/lua/config/telescope.lua index 1600456..fdd389c 100644 --- a/vim/.vim/lua/config/telescope.lua +++ b/vim/.vim/lua/config/telescope.lua @@ -1,104 +1,85 @@ -require('telescope').setup { - defaults = { - -- The vertical layout strategy is good to handle long paths like those in - -- google3 repos because you have nearly the full screen to display a file path. - -- The caveat is that the preview area is smaller. - layout_strategy = 'vertical', - -- Common paths in google3 repos are collapsed following the example of Cider - -- It is nice to keep this as a user config rather than part of - -- telescope-codesearch because it can be reused by other telescope pickers. - path_display = function(opts, path) - -- Do common substitutions - path = path:gsub("^/google/src/cloud/[^/]+/[^/]+/google3/", "google3/", 1) - path = path:gsub("^google3/java/com/google/", "g3/j/c/g/", 1) - path = path:gsub("^google3/javatests/com/google/", "g3/jt/c/g/", 1) - path = path:gsub("^google3/third_party/", "g3/3rdp/", 1) - path = path:gsub("^google3/", "g3/", 1) +local use_google = require("utils").use_google - -- Do truncation. This allows us to combine our custom display formatter - -- with the built-in truncation. - -- `truncate` handler in transform_path memoizes computed truncation length in opts.__length. - -- Here we are manually propagating this value between new_opts and opts. - -- We can make this cleaner and more complicated using metatables :) - local new_opts = { - path_display = { - truncate = true, - }, - __length = opts.__length, - } - path = require('telescope.utils').transform_path(new_opts, path) - opts.__length = new_opts.__length - return path - end, - }, - extensions = { -- this block is optional, and if omitted, defaults will be used +require('telescope').setup { + defaults = { + -- The vertical layout strategy is good to handle long paths like those in + -- google3 repos because you have nearly the full screen to display a file path. + -- The caveat is that the preview area is smaller. + layout_strategy = 'vertical', + -- Common paths in google3 repos are collapsed following the example of Cider + -- It is nice to keep this as a user config rather than part of + -- telescope-codesearch because it can be reused by other telescope pickers. + path_display = function(opts, path) + -- Do common substitutions + path = path:gsub("^/google/src/cloud/[^/]+/[^/]+/google3/", "google3/", 1) + path = path:gsub("^google3/java/com/google/", "g3/j/c/g/", 1) + path = path:gsub("^google3/javatests/com/google/", "g3/jt/c/g/", 1) + path = path:gsub("^google3/third_party/", "g3/3rdp/", 1) + path = path:gsub("^google3/", "g3/", 1) + + -- Do truncation. This allows us to combine our custom display formatter + -- with the built-in truncation. + -- `truncate` handler in transform_path memoizes computed truncation length in opts.__length. + -- Here we are manually propagating this value between new_opts and opts. + -- We can make this cleaner and more complicated using metatables :) + local new_opts = { + path_display = { + truncate = true, + }, + __length = opts.__length, + } + path = require('telescope.utils').transform_path(new_opts, path) + opts.__length = new_opts.__length + return path + end, + }, + extensions = { -- this block is optional, and if omitted, defaults will be used codesearch = { - experimental = true -- enable results from google3/experimental + experimental = true -- enable results from google3/experimental } - } +} } local map = require("utils").map --- These custom mappings let you open telescope-codesearch quickly: -map('n', '', - [[lua require('telescope').extensions.codesearch.find_files{}]], - { noremap = true, silent=true } -) +if use_google() then + -- These custom mappings let you open telescope-codesearch quickly: + map('n', '', + [[lua require('telescope').extensions.codesearch.find_files{}]], + { noremap = true, silent=true } + ) --- Search using codesearch queries. -map( - "n", - "cs", - [[lua require('telescope').extensions.codesearch.find_query{}]], - { noremap = true, silent = true } -) --- --- Search for files using codesearch queries. -map( - "n", - "cf", - [[lua require('telescope').extensions.codesearch.find_files{}]], - { noremap = true, silent = true } -) + -- Search using codesearch queries. + map( + "n", + "cs", + [[lua require('telescope').extensions.codesearch.find_query{}]], + { noremap = true, silent = true } + ) --- Search for the word under cursor. -map( - "n", - "CS", - [[lua require('telescope').extensions.codesearch.find_query{default_text_expand=''}]], - { noremap = true, silent = true } -) + -- Search for the word under cursor. + map( + "n", + "CS", + [[lua require('telescope').extensions.codesearch.find_query{default_text_expand=''}]], + { noremap = true, silent = true } + ) --- Search for a file having word under cursor in its name. -map( - "n", - "CF", - [[lua require('telescope').extensions.codesearch.find_files{default_text_expand=''}]], - { noremap = true, silent = true } -) + -- Search for text selected in Visual mode. + map( + "v", + "cs", + [[lua require('telescope').extensions.codesearch.find_query{}]], + { noremap = true, silent = true } + ) --- Search for text selected in Visual mode. -map( - "v", - "cs", - [[lua require('telescope').extensions.codesearch.find_query{}]], - { noremap = true, silent = true } -) + -- map("n", + -- "ps", + -- [[:Telescope find_files find_command=hg,pstatus,-ma,-n,--template=]]) --- Search for file having text selected in Visual mode. -map( - "v", - "cf", - [[lua require('telescope').extensions.codesearch.find_files{}]], - { noremap = true, silent = true } -) - -map("n", -"ps", -[[:Telescope find_files find_command=hg,pstatus,-ma,-n,--template=]]) - -map( "n", "tb", ":Telescope file_browser") -map( "n", "fb", ":Telescope file_browser") -map("n", "", "lua require('telescope').extensions.frecency.frecency({ workspace = 'CWD' })", {noremap = true, silent = true}) + map("n", "tw", ":Telescope citc workspaces") + map("n", "tm", ":Telescope citc modified") + map("n", "tb", ":Telescope file_browser") + map("n", "tf", ":lua require('telescope').extensions.frecency.frecency({ workspace = 'CWD' })", {noremap = true, silent = true}) +end diff --git a/vim/.vim/lua/plugins.lua b/vim/.vim/lua/plugins.lua index e421be9..a37b4a7 100644 --- a/vim/.vim/lua/plugins.lua +++ b/vim/.vim/lua/plugins.lua @@ -131,15 +131,12 @@ require('packer').startup(function(use) end } - - use { - 'sso://googler@user/vintharas/telescope-codesearch.nvim', - disable = not use_google(), - } - use { 'sso://googler@user/piloto/cmp-nvim-ciderlsp', 'sso://googler@user/kdark/ciderlsp-nvim', + 'sso://googler@user/vintharas/telescope-codesearch.nvim', + 'sso://googler@user/aktau/telescope-citc.nvim', + disable = not use_google(), } diff --git a/vim/.vim/prefs/google.vim b/vim/.vim/prefs/google.vim index 7a9485c..749674e 100644 --- a/vim/.vim/prefs/google.vim +++ b/vim/.vim/prefs/google.vim @@ -183,3 +183,5 @@ nnoremap ws :CorpWebCs nnoremap wf :CorpWebCsFile nmap rbs ss rb + +nmap yb :let @" = join(blaze#GetTargets(), ' ')