Atom / Github elimina la nueva línea de fin de file

Utilizando Atom 1.14.3, tengo un package de whitespace que maneja la inserción automática de nuevas líneas al final de los files.

Incluso si elimino la línea nueva final y presiono save, vuelve a agregar la nueva línea. Esto es bueno.

enter image description here

La configuration del package de espacios en blanco parece estar bien:

enter image description here

El problema es que cuando me comprometo con Github, dice que la nueva línea ha sido eliminada:

enter image description here

¿Por qué es esto? ¿Es un problema de átomo o un posible problema local de github?


EDITAR: de alguna manera, necesitaba deshabilitar el package de whitespace , agregar manualmente dos CRLF al final del file y luego confirmar para que Github recoja el CRLF único al final del file.

enter image description here

Creo que es posible que estés entendiendo mal dónde están las nuevas líneas.

Veamos sus dos capturas de pantalla y dónde están las líneas nuevas en cada una.

captura de pantalla 1

 233 return router;\n 234 };\n 

Aquí tenemos 234 como la última línea en el file. Tenemos una línea 235 mostrada, pero eso se debe a que la nueva línea en 234 crea la siguiente línea para que el cursor del editor esté activado. Si comenzaste a escribir en 235, estarías creando más contenido. Pero en este momento, 235 es una línea vacía (que incluye no tener una nueva línea de destino).

captura de pantalla 2

 233 return router;\n 234 };\n 235 \n 

Esto es similar, excepto que también tiene una línea vacía 235 que termina con una nueva línea. Ahora la línea de input vacía sin línea nueva se ha movido a 236.

Cuando guardó con el package de espacio en blanco activo, eliminó las líneas nuevas externas al final del file, dejando solo una. Como en la primera captura de pantalla. Sin embargo, cuando miras la diferencia de Github, las cosas son un poco diferentes. Github te muestra el contenido del file, no en un editor. Entonces no hay razón para tener la última línea fantasma para su cursor. En cambio, le muestra la simple verdad del asunto: la línea 234 es la última línea del file. La línea 235 ya no está.

Echemos un vistazo a la configuration del package de espacios en blanco. Específicamente la primera configuration:

Asegurar una línea nueva de seguimiento único

Si el búfer no termina con un carácter de nueva línea cuando está guardado, añada uno. Si termina con más de una nueva línea, elimine todos less uno. Para deshabilitar / habilitar para un idioma determinado, use properties con syntax en su config.cson .

Aquí están las dos primeras oraciones de la descripción de nuevo, con un poco de énfasis agregado:

Si el búfer no termina con un carácter de nueva línea cuando está guardado, añada uno . Si termina con más de una nueva línea, elimine todos less uno .