···1111vim.keymap.set('n', 'sB', ':BLines<CR>')
1212vim.keymap.set('n', 'sb', ':Buffers<CR>')
1313vim.keymap.set('n', 'sc', ':Commits<CR>')
1414--- vim.keymap.set('n', 'sC', ':BCommits<CR>') --> changed to lsp symbol/class name search (see lsp.lua)
1414+vim.keymap.set('n', 'sC', ':BCommits<CR>')
1515+vim.keymap.set('n', 'sS', ':Telescope lsp_document_symbols<CR>')
1616+vim.keymap.set('n', 'so', ':Telescope lsp_document_symbols<CR>')
1517vim.keymap.set('n', 'sg', ':GFiles<CR>')
1618vim.keymap.set('n', 'sG', ':GFiles?<CR>')
1717-vim.keymap.set('n', 'sr', ':History<CR>')
1919+-- toggle depending if reference is there
2020+-- vim.keymap.set('n', 'sr', function()
2121+-- -- Check if LSP is attached to current buffer
2222+-- local has_lsp = false
2323+-- for _, client in pairs(vim.lsp.get_active_clients({ bufnr = 0 })) do
2424+-- if client.server_capabilities.referencesProvider then
2525+-- has_lsp = true
2626+-- break
2727+-- end
2828+-- end
2929+3030+-- -- If we have an LSP client that can find references, use that
3131+-- if has_lsp then
3232+-- vim.cmd(':Telescope lsp_references')
3333+-- else
3434+-- -- Otherwise fall back to history
3535+-- vim.cmd(':History')
3636+-- end
3737+-- end)
3838+vim.keymap.set('n', 'sR', ':History<CR>')
3939+vim.keymap.set('n', 'sr', ':Telescope lsp_references<CR>')
1840vim.keymap.set('n', 's:', ':History:<CR>')
1941vim.keymap.set('n', 's/', ':History/<CR>')
2042vim.keymap.set('n', 'sL', ':Lines<CR>')
···2749vim.keymap.set('n', 'sz', ':Helptags<CR>')
2850vim.keymap.set('n', 'sZ', ':Tags<CR>')
2951vim.keymap.set('n', 'su', ':UndotreeToggle<CR>')
3030-vim.keymap.set('n', 'sS', ':Colors<CR>')
3152vim.keymap.set('n', 'sF', ':Rg<CR>')
3253vim.keymap.set('n', 'sf', ':Telescope live_grep<CR>') --search for typing string
3354vim.keymap.set('n', 'sw', ':Telescope grep_string<CR>') --search for word/string under cursor