O seguinte less apontaria para a linha de html>body form
embora a definição fosse explicitamente para input
.
No entanto, isso funcionaria corretamente ao usar o operador &
, mas é uma dor alterar todas as definições menos como essa
html>body form {
input {
color: cyan !important;
}
& input {
background: yellow !important;
}
}
Acho que isso pode ser estendido a outros operadores suportados em menos, mas nunca menos, vazio ou quaisquer operadores devem ser suportados corretamente pelos mapas de origem, uma vez que é menos válido código.
Acho que isso ocorre porque o menos marca partes diferentes dos seletores vindos de lugares diferentes .. então ele diz ao Chrome que a primeira parte do seletor vem da linha 3 e a segunda parte da linha 9. Quando menos usa &
realmente quebra a implementação e menos apenas informa ao Chrome sobre a 2ª parte.
No entanto, como as informações no cromo são muito incompletas, provavelmente devemos mostrar apenas as informações da última parte do seletor.
este bug está agora nos bugs do chromium: https://code.google.com/p/chromium/issues/detail?id=287382
nota para si mesmo: poderia ser resolvido substituindo o fileinfo antes de cada caminho ser gerado. também é preciso pensar em extensões onde o seletor do meio é substituído - o caminho é criado por causa da extensão, portanto, a extensão é o importante.
marcando isso o mais baixo agora, pois você sempre pode rolar para baixo .. pelo menos dá a você um ponteiro .. a menos que @dotnetwise você tenha um motivo pelo qual isso está causando um grande problema.
Observação: a alternativa de # 1715 é controlar e clicar na propriedade, não no seletor.
nota 2: o chrome não vai consertar, então ele teria que ser endereçado em menos, provavelmente encontrando o índice do último elemento? em um seletor
Testei o código de exemplo de: http://stackoverflow.com/questions/27983598/css-source-maps-doesnt-report-the-correct-line-when-using-nested-selectors
#main {
max-width: 500px;
color: white;
.sub-container {
color: blue;
}
}
Descobri que o problema não acontece apenas no cromo, mas também no firefox. Em seguida, tentei compilar o código com gulp-less e gulp-sourcemap (onde espero que gulp-sourcemap use um gerador de mapa de origem diferente). O gulp build também não resolveu o problema.
Quando eu compilo o mesmo código com sass, o mapa de origem gerado aponta corretamente para 4 no cromo e no FF.
Por outro lado, Less tem os números de linha corretos em algum ponto (com --line-numbers = comments):
/* line 1, /t.less */
#main {
max-width: 500px;
color: white;
}
/* line 4, /t.less */
#main .sub-container {
color: blue;
}
Sim, mas apenas para "regras aninhadas"
Se você aninhar qualquer coisa em uma regra grande, todas as linhas do mapa de origem apontarão para seu topo.
Comentários muito úteis
Observação: a alternativa de # 1715 é controlar e clicar na propriedade, não no seletor.
nota 2: o chrome não vai consertar, então ele teria que ser endereçado em menos, provavelmente encontrando o índice do último elemento? em um seletor