PHPackages                             ahmedash95/deep-symbols - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ahmedash95/deep-symbols

ActivePlugin[Utility &amp; Helpers](/categories/utility)

ahmedash95/deep-symbols
=======================

0.0.4(2y ago)982MITPHP

Since Sep 19Pushed 2y ago1 watchersCompare

[ Source](https://github.com/ahmedash95/deep-symbols)[ Packagist](https://packagist.org/packages/ahmedash95/deep-symbols)[ RSS](/packages/ahmedash95-deep-symbols/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (2)Dependencies (2)Versions (5)Used By (0)

Document Symbols Improved
=========================

[](#document-symbols-improved)

A simple neovim plugin to display document symbols with inherited members.

Problem
=======

[](#problem)

The current [LSP document symbols](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol) does not consider inherted members. which is something I used to have with [PHPStorm](https://www.jetbrains.com/phpstorm/promo/?source=ahmedash95.github.io) and had saved me alot navigating the code. and as I'm moving to Neovim. I missed that feature and after some looking and searching I could not find any good replacement. so I decided to make it myself.

the project scope should and always will be small. focusing only on PHP as it's my primary language. and would just change to serve future versions of PHP.

Prerequisites
-------------

[](#prerequisites)

- Neovim
- [FZFLua](https://github.com/ibhagwan/fzf-lua)
- PHP
- Composer

Preview
-------

[](#preview)

Let's say in your project you have 2 models Admin.php and User.php

```
class User
{
    public function getName() {
        return 'John';
    }
}

class Admin extends User
{
    public function getAdminRole() {
        return 'supervisor';
    }
}
```

With this plugin, it would show you all the members and inherited members of the class you are currently in.

    demo.mov    ### Install

[](#install)

First you need to install deep-symbol globally from your composer

```
composer global require ahmedash95/deep-symbols

```

Make sure that your global composer directory is inside of your PATH environment variable. Simply add this directory to your PATH in your ~/.bash\_profile (or ~/.bashrc) like this:

```
export PATH=~/.composer/vendor/bin:$PATH

```

once installed you can verifiy if its working by opening a new terminal session and type

```
$ deep-symbols

```

### Plugin

[](#plugin)

Using vim-plug

```
Plug 'ahmedash95/deep-symbols'
```

Using packer.nvim

```
use 'ahmedash95/deep-symbols'
```

### Usage

[](#usage)

you can run it with the command

```
:lua require("deepsymbols").get_symbols()

-- or mapping

vim.keymap.set('n', 'o', ':lua require("deepsymbols").get_symbols()')

```

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~193 days

Total

4

Last Release

849d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a8f7720b07ee7addde37df48b85d7de8e127f043d7c1b7aacd0af79328301f0d?d=identicon)[ahmedash95](/maintainers/ahmedash95)

---

Top Contributors

[![ahmedash95](https://avatars.githubusercontent.com/u/8272048?v=4)](https://github.com/ahmedash95 "ahmedash95 (23 commits)")

---

Tags

lspneovimphpactor

### Embed Badge

![Health badge](/badges/ahmedash95-deep-symbols/health.svg)

```
[![Health](https://phpackages.com/badges/ahmedash95-deep-symbols/health.svg)](https://phpackages.com/packages/ahmedash95-deep-symbols)
```

###  Alternatives

[deptrac/deptrac

Deptrac is a static code analysis tool that helps to enforce rules for dependencies between software layers.

3.0k9.8M298](/packages/deptrac-deptrac)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[tempest/framework

The PHP framework that gets out of your way.

2.3k37.6k21](/packages/tempest-framework)[brianhenryie/strauss

Prefixes dependencies namespaces so they are unique to your plugin

192484.7k41](/packages/brianhenryie-strauss)[boundwize/structarmed

Configurable PHP architecture guards — define your layers and rules, then keep them enforced

45751.2k24](/packages/boundwize-structarmed)[v.chetkov/php-clean-architecture

PHP Clean Architecture

14661.8k](/packages/vchetkov-php-clean-architecture)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
