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. ahmedash95/deep-symbols

ActivePlugin

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

0.0.4(2y ago)982MITPHP

Since Sep 19Pushed 1y 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 1mo 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

24

—

LowBetter than 32% of packages

Maintenance28

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

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

750d 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

[psy/psysh

An interactive shell for modern PHP.

9.8k545.6M719](/packages/psy-psysh)[zircote/swagger-php

Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations

5.3k132.9M468](/packages/zircote-swagger-php)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[symfony/maker-bundle

Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.

3.4k111.1M568](/packages/symfony-maker-bundle)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)

PHPackages © 2026

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