Nova

Extensions


Readme

Intelephense provides advanced language support for PHP via Intelephense.

Intelephense is developed by Ben Mewburn on GitHub. Ben Mewburn is not involved in the development of this extension.

The extension has mostly complete support for the configuration options available in Intelephense. If there's something you're missing please reach out and let me know.

Requirements

Intelephense requires some additional tools to be installed on your Mac:

If you want to use a different version of Intelephense than the bundled version you can set a path to the executable in the extension preferences.

Usage

To run Intelephense:

  • Just activate the extension.

Once the extension is activated it will attempt to install Intelephense in the extension workspace, if no installation is found.

To activate a premium license

  • Run the Extensions → Intelephense → Enter license key command.
  • Type your license key in the notification box that appears in the top-right corner of the editor.
  • Click submit.

If the activation is successful you'll see a notice informing you of the success and Intelephense will be restarted.

Workspace specific stubs

You can configure stubs that Intelephense will use on a per-project basis by opening Project → Project Settings → Intelephense and changing the stubs list there. If you set this list of stubs back to the default value Intelephense will instead use the stubs list from the global preferences. To quickly reset the stubs list back to default values you can use the Extensions → Intelephense → Reset Workspace Stubs command.

Configuration

To configure global preferences, open Extensions → Extension Library... then select Intelephense's Preferences tab.

You can also configure preferences on a per-project basis in Project → Project Settings...


Changelog

Version 1.3.0 - August 18, 2022

  • Add - Diagnostics lanaguage server options are now available.
  • Add - Option to enable and disable Intelephense at the workspace level.
  • Add - License can now be added via the "Enter license key" command.
  • Tweak - Update bundled Intelephense version to 1.9.5

Version 1.2.2 - October 31, 2022

  • Fix - Debug setting is now correctly retrieved.

Version 1.2.1 - October 26, 2022

  • Fix - Custom path for Intelephense in workspace settings now respected.

Version 1.2.0 - October 26, 2022

  • Dev - Major refactor of extension code; migrated to TypeScript and made further changes to improve maintainability.
  • Tweak - Updated bundled Intelephense version to 1.8.2.

Version 1.1.1 - January 7, 2022

  • Tweak - Cache is no longer cleared on startup; forgot to change this back after development for version 1.1.0.

Version 1.1.0 - January 7, 2022

  • Add - Demo screenshot.
  • Add - Sponsor link to original Intelephense project.
  • Add - Support workspace specific stubs.
  • Tweak - Update Intelephense to version 1.8.0.

Version 1.0.0 - November, 9 2021

  • Tweak - Update description.
  • Tweak - Update readme.

Version 0.4.0 - July 22, 2021

  • Tweak - Intelephense updated to version 1.7.1.

Version 0.3.0 - April 5, 2021

  • Add - MIT license.
  • Add - Language server settings exposed through Nova's preferences screen.

Version 0.2.1 - March 26, 2021

  • Add - Restart command.
  • Tweak - Don't clear cache on startup.
  • Tweak - Update README to say extension is in a "beta stage", now that the Nova Extension Runtime has been fixed to not crash when running the language server.
  • Tweak - Set the minimum runtime version to Nova 5.1; that's when the extension runtime was fixed.

Version 0.2.0 - March 17, 2021

  • Add - Bundled version of Intelephense.

Version 0.1.5 - March 12, 2021

  • Add - Link to mailing list for bug reports instead of my personal email.

Version 0.1.4

  • Fix - Error in Advanced PHP support.

Version 0.1.3

  • Add support for the Advanced PHP extension.

Version 0.1.2

  • Add more specific activation events to prevent language server constantly running in the background.

Version 0.1.1

  • Give credit to Ben Mewburn, the developer behind Intelephense, in the README.

Version 0.1

Initial release


License

MIT License

Copyright (c) 2021 Kristófer Reykjalín Þorláksson

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.