Skip to content

strikerlulu/projectile-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Projectile Laravel

Projectile Laravel is a minor mode for working with Laravel projects in GNU Emacs. It is based on Projectile.

With Projectile Laravel you are able to:

  • navigate through laravel resources (controllers, models, views, helpers and so on)

    Screenshot

  • create those resources using magit like interface

    Screenshot

  • jump to php classes and template files

  • run repl php artisan tinker

  • run db console php artisan db

  • run development server php artisan serve

  • npm install

  • composer install

  • open log files with auto-revert-mode on

  • Goto views & controller from routes/*.php (WIP)

Setup

Installation

Melpa

Didn't added yet :(

Use package with straight.el

(use-package projectile-laravel
  :straight (projectile-laravel :type git :host github :repo "strikerlulu/projectile-laravel"))

doom-emacs

Just add this to your package.el

(package! projectile-laravel :recipe (:host github :repo "strikerlulu/projectile-laravel"))

Usage

The global mode

Use the package as a global mode:

(projectile-laravel-global-mode)

Customizing

Snippets

There are some laravel snippets in doom-snippets

ANSI Colors

By default the buffer of the projectile-laravel-server-mode is applying the ansi colors. If you find it slow you can disable it with:

(setq projectile-laravel-server-mode-ansi-colors nil)

Keymaps

(define-key projectile-laravel-mode-map (kbd "C-c l") 'projectile-laravel-command-mode-map)

You might want to create your own keybinding for your favorite commands. For example:

(define-key projectile-laravel-mode-map (kbd "C-c m") 'projectile-laravel-find-model)
(define-key projectile-laravel-mode-map (kbd "C-c c") 'projectile-laravel-find-controller)
(define-key projectile-laravel-mode-map (kbd "C-c v") 'projectile-laravel-find-view)
(define-key projectile-laravel-mode-map (kbd "s-RET") 'projectile-laravel-goto-file-at-point)
(define-key projectile-laravel-mode-map (kbd "C-c g") 'projectile-laravel-mode-goto-map)

The name of the hydra is hydra-projectile-laravel. You can bind it to your preferred key

(define-key projectile-laravel-mode-map (kbd "C-c l") 'hydra-projectile-laravel/body)

;;if you want...
(define-key projectile-laravel-mode-map (kbd "C-c f") 'hydra-projectile-laravel-find/body)
(define-key projectile-laravel-mode-map (kbd "C-c j") 'hydra-projectile-laravel-generate/body)
(define-key projectile-laravel-mode-map (kbd "C-c g") 'hydra-projectile-laravel-goto/body)
(define-key projectile-laravel-mode-map (kbd "C-c r") 'hydra-projectile-laravel-run/body)

Which key

Screenshot

Other useful packages for laravel dev

web-mode

Inspired from

projectile-rails

About

Laravel projectile mode for emacs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published