diff mbox series

schemas: add missing vim modeline

Message ID 20211220145624.52801-1-victortoso@redhat.com (mailing list archive)
State New, archived
Headers show
Series schemas: add missing vim modeline | expand

Commit Message

Victor Toso Dec. 20, 2021, 2:56 p.m. UTC
Similar to f7160f3218 "schemas: Add vim modeline"

Signed-off-by: Victor Toso <victortoso@redhat.com>
---
 qapi/audio.json  | 1 +
 qapi/compat.json | 1 +
 qapi/replay.json | 1 +
 qapi/trace.json  | 1 +
 4 files changed, 4 insertions(+)

Comments

Markus Armbruster Jan. 27, 2022, 10:20 a.m. UTC | #1
Queued.  Thanks!
Alex Bennée Jan. 27, 2022, 11:07 a.m. UTC | #2
Victor Toso <victortoso@redhat.com> writes:

> Similar to f7160f3218 "schemas: Add vim modeline"
>
> Signed-off-by: Victor Toso <victortoso@redhat.com>
> ---
>  qapi/audio.json  | 1 +
>  qapi/compat.json | 1 +
>  qapi/replay.json | 1 +
>  qapi/trace.json  | 1 +
>  4 files changed, 4 insertions(+)
>
> diff --git a/qapi/audio.json b/qapi/audio.json
> index 9cba0df8a4..fe3b506ec3 100644
> --- a/qapi/audio.json
> +++ b/qapi/audio.json
> @@ -1,4 +1,5 @@
>  # -*- mode: python -*-
> +# vim: filetype=python

I realise we have Emacs mode annotations here as well and I'm not going
to start a holy war but I thought we used .editorconfig to avoid messing
directly with the individual files. So something like:

  [*.json]
  indent_style = space
  emacs_mode = python
  vim_filetype = python

should also do the job.

>  #
>  # Copyright (C) 2015-2019 Zoltán Kővágó <DirtY.iCE.hu@gmail.com>
>  #
> diff --git a/qapi/compat.json b/qapi/compat.json
> index dd7261ae2a..c53b69fe3f 100644
> --- a/qapi/compat.json
> +++ b/qapi/compat.json
> @@ -1,4 +1,5 @@
>  # -*- Mode: Python -*-
> +# vim: filetype=python
>  
>  ##
>  # = Compatibility policy
> diff --git a/qapi/replay.json b/qapi/replay.json
> index bfd83d7591..b4d1ba253b 100644
> --- a/qapi/replay.json
> +++ b/qapi/replay.json
> @@ -1,4 +1,5 @@
>  # -*- Mode: Python -*-
> +# vim: filetype=python
>  #
>  
>  ##
> diff --git a/qapi/trace.json b/qapi/trace.json
> index eedfded512..119509f565 100644
> --- a/qapi/trace.json
> +++ b/qapi/trace.json
> @@ -1,4 +1,5 @@
>  # -*- mode: python -*-
> +# vim: filetype=python
>  #
>  # Copyright (C) 2011-2016 Lluís Vilanova <vilanova@ac.upc.edu>
>  #
Markus Armbruster Jan. 27, 2022, 1:48 p.m. UTC | #3
Alex Bennée <alex.bennee@linaro.org> writes:

> Victor Toso <victortoso@redhat.com> writes:
>
>> Similar to f7160f3218 "schemas: Add vim modeline"
>>
>> Signed-off-by: Victor Toso <victortoso@redhat.com>
>> ---
>>  qapi/audio.json  | 1 +
>>  qapi/compat.json | 1 +
>>  qapi/replay.json | 1 +
>>  qapi/trace.json  | 1 +
>>  4 files changed, 4 insertions(+)
>>
>> diff --git a/qapi/audio.json b/qapi/audio.json
>> index 9cba0df8a4..fe3b506ec3 100644
>> --- a/qapi/audio.json
>> +++ b/qapi/audio.json
>> @@ -1,4 +1,5 @@
>>  # -*- mode: python -*-
>> +# vim: filetype=python
>
> I realise we have Emacs mode annotations here as well and I'm not going
> to start a holy war but I thought we used .editorconfig to avoid messing
> directly with the individual files. So something like:
>
>   [*.json]
>   indent_style = space
>   emacs_mode = python
>   vim_filetype = python
>
> should also do the job.

Most schema files have lines for both Emacs and vim.  Some have only the
former, and this patch adds the latter to them.  Seems fair to me.

Perhaps we could get rid of them all instead.  As far as I can tell,
.editorconfig doesn't work for stock Emacs out of the box, though.
Victor Toso Jan. 27, 2022, 2:22 p.m. UTC | #4
On Thu, Jan 27, 2022 at 02:48:57PM +0100, Markus Armbruster wrote:
> Alex Bennée <alex.bennee@linaro.org> writes:
> 
> > Victor Toso <victortoso@redhat.com> writes:
> >
> >> Similar to f7160f3218 "schemas: Add vim modeline"
> >>
> >> Signed-off-by: Victor Toso <victortoso@redhat.com>
> >> ---
> >>  qapi/audio.json  | 1 +
> >>  qapi/compat.json | 1 +
> >>  qapi/replay.json | 1 +
> >>  qapi/trace.json  | 1 +
> >>  4 files changed, 4 insertions(+)
> >>
> >> diff --git a/qapi/audio.json b/qapi/audio.json
> >> index 9cba0df8a4..fe3b506ec3 100644
> >> --- a/qapi/audio.json
> >> +++ b/qapi/audio.json
> >> @@ -1,4 +1,5 @@
> >>  # -*- mode: python -*-
> >> +# vim: filetype=python
> >
> > I realise we have Emacs mode annotations here as well and I'm not going
> > to start a holy war but I thought we used .editorconfig to avoid messing
> > directly with the individual files. So something like:
> >
> >   [*.json]
> >   indent_style = space
> >   emacs_mode = python
> >   vim_filetype = python
> >
> > should also do the job.
> 
> Most schema files have lines for both Emacs and vim.  Some have only the
> former, and this patch adds the latter to them.  Seems fair to me.
> 
> Perhaps we could get rid of them all instead.  As far as I can tell,
> .editorconfig doesn't work for stock Emacs out of the box, though.

I think the same is true for vim. You need to enable a plugin for
it. Similar to other IDEs.

If we have a formal way to suggest that developers install
editorconfig plugin for their IDE it would be better than
maintaining such annotations.

Cheers,
Victor
Alex Bennée Jan. 27, 2022, 2:36 p.m. UTC | #5
Markus Armbruster <armbru@redhat.com> writes:

> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Victor Toso <victortoso@redhat.com> writes:
>>
>>> Similar to f7160f3218 "schemas: Add vim modeline"
>>>
>>> Signed-off-by: Victor Toso <victortoso@redhat.com>
>>> ---
>>>  qapi/audio.json  | 1 +
>>>  qapi/compat.json | 1 +
>>>  qapi/replay.json | 1 +
>>>  qapi/trace.json  | 1 +
>>>  4 files changed, 4 insertions(+)
>>>
>>> diff --git a/qapi/audio.json b/qapi/audio.json
>>> index 9cba0df8a4..fe3b506ec3 100644
>>> --- a/qapi/audio.json
>>> +++ b/qapi/audio.json
>>> @@ -1,4 +1,5 @@
>>>  # -*- mode: python -*-
>>> +# vim: filetype=python
>>
>> I realise we have Emacs mode annotations here as well and I'm not going
>> to start a holy war but I thought we used .editorconfig to avoid messing
>> directly with the individual files. So something like:
>>
>>   [*.json]
>>   indent_style = space
>>   emacs_mode = python
>>   vim_filetype = python
>>
>> should also do the job.
>
> Most schema files have lines for both Emacs and vim.  Some have only the
> former, and this patch adds the latter to them.  Seems fair to me.

No argument from me there.

> Perhaps we could get rid of them all instead.  As far as I can tell,
> .editorconfig doesn't work for stock Emacs out of the box, though.

It does require a package-install although fortunately it's in non-gnu
elpa so should work out of the box with any reasonably recent Emacs. I
personally wrap this stuff up in use-package:

  ;; EditorConfig
  (use-package editorconfig
    :ensure t
    :diminish "EdCf"
    :config
    ;; See https://github.com/editorconfig/editorconfig-emacs/issues/246
    (add-to-list 'editorconfig-exclude-modes 'git-rebase-mode)
    (editorconfig-mode 1))

We also have have a rather embryonic .dir-locals in the root of the
source tree as well.

Our vim-brethren seem to have multiple ways of installing their plugin:

  https://github.com/editorconfig/editorconfig-vim#installation
diff mbox series

Patch

diff --git a/qapi/audio.json b/qapi/audio.json
index 9cba0df8a4..fe3b506ec3 100644
--- a/qapi/audio.json
+++ b/qapi/audio.json
@@ -1,4 +1,5 @@ 
 # -*- mode: python -*-
+# vim: filetype=python
 #
 # Copyright (C) 2015-2019 Zoltán Kővágó <DirtY.iCE.hu@gmail.com>
 #
diff --git a/qapi/compat.json b/qapi/compat.json
index dd7261ae2a..c53b69fe3f 100644
--- a/qapi/compat.json
+++ b/qapi/compat.json
@@ -1,4 +1,5 @@ 
 # -*- Mode: Python -*-
+# vim: filetype=python
 
 ##
 # = Compatibility policy
diff --git a/qapi/replay.json b/qapi/replay.json
index bfd83d7591..b4d1ba253b 100644
--- a/qapi/replay.json
+++ b/qapi/replay.json
@@ -1,4 +1,5 @@ 
 # -*- Mode: Python -*-
+# vim: filetype=python
 #
 
 ##
diff --git a/qapi/trace.json b/qapi/trace.json
index eedfded512..119509f565 100644
--- a/qapi/trace.json
+++ b/qapi/trace.json
@@ -1,4 +1,5 @@ 
 # -*- mode: python -*-
+# vim: filetype=python
 #
 # Copyright (C) 2011-2016 Lluís Vilanova <vilanova@ac.upc.edu>
 #