help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Disable warning from irony for PHP files


From: John Mastro
Subject: Re: Disable warning from irony for PHP files
Date: Wed, 14 Oct 2015 12:51:04 -0700

Sanjeev Sariya <sanjeevsariya@gmail.com> wrote:
> I've irony, and company-irony mode added in my init.el, for which
> init.el looks like:
>
> (eval-after-load 'company
>     '(add-to-list 'company-backends 'company-irony))
>
> (require 'irony)
> (add-hook 'after-init-hook #'global-company-mode)
> (add-hook 'c++-mode-hook 'irony-mode)
> (add-hook 'c-mode-hook 'irony-mode)
>
> When I open alpha.php, I get following warning:
>
> Warning (irony): Major mode is unknown to Irony, see
> `irony-supported-major-modes'.
>
> I know irony doesn't support php file. How can I disable irony to work
> while working with .php or any other language, or say restrict it to
> c, cpp, .h, .hpp files?

I'm guessing it's because `company-irony' is being added to the global
`company-backends'. That's harmless (it won't produce any results, so
another backend will be used), but you could instead configure things
like this to avoid the warning:

(require 'irony)

(add-hook 'after-init-hook #'global-company-mode)

(defun my-company-irony ()
  (irony-mode)
  (unless (memq 'company-irony company-backends)
    (setq-local company-backends (cons 'company-irony company-backends))))

(add-hook 'c-mode-hook #'my-company-irony)
(add-hook 'c++-mode-hook #'my-company-irony)

The idea is that, instead of modifying the global `company-backends',
you give it a separate value in c-mode and c++-mode buffers and add the
`company-irony' backend there.

-- 
john



reply via email to

[Prev in Thread] Current Thread [Next in Thread]