2010-07-30 13 views
5

Actualmente estoy usando vim como mi editor para programar en D. Las reglas de sangría son más o menos idénticas a C, pero me he encontrado con un caso que vim no maneja por defecto. En D, las declaraciones de casos pueden tomar cadenas que no son manejadas adecuadamente por cindent.¿Es posible modificar las reglas de cindent para un caso en vim?

Por ejemplo, esto funciona:

switch(blah) 
{ 
case 1: 
    // something 
case some_variable: 
    // ... 
} 

Pero no esto:

switch(blah) 
{ 
    case "yark": 
     case "flurb": 
    // something 
    case "...": 
     // ... 
} 

¿Hay alguna forma de anular esa única regla en un archivo de guión personalizado, o sería todo el conjunto de reglas cindent tener para ser reimplementado?

+0

Otra muesca que no es adecuado para D es 'cosa' para una estática si. –

Respuesta

4

Pruebe Vim 7.3. Las reglas de sangría introducidas en esta versión principalmente para JavaScript también corrigen esta situación particular.

Con Vim 7.3 del código tiene sangría correctamente como:

switch(blah) 
{ 
    case "yark": 
    case "flurb": 
     // something 
    case "...": 
     // ... 
} 
+0

¡Gracias, eso funcionó perfectamente! –

Cuestiones relacionadas