diff --git a/init.lua b/init.lua
index f406ceaa..38b1ff2e 100644
--- a/init.lua
+++ b/init.lua
@@ -427,7 +427,14 @@ local on_attach = function(_, bufnr)
   nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
   nmap('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
   nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
-  nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
+  -- Just show classes and functions
+  nmap(
+    '<leader>ds',
+    function()
+      require('telescope.builtin').lsp_document_symbols({ ignore_symbols = { 'variable', 'constant' } })
+    end,
+    '[D]ocument [S]ymbols'
+  )
   nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
 
   -- See `:help K` for why this keymap