AdamNiederer / AdamNiederer/elquery

Optionally keep whitespace in elquery-read-string

Aperta
#8 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Emacs Lisp
Stelle
49
Fork
6
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Is it possible to implement `elquery-read-string` to optionally keep the whitespace when reading the string?

```
-(defun elquery-read-string (string)
+(defun elquery-read-string (string &optional keep-whitespace)
"Return the AST of the HTML string STRING as a plist."
(with-temp-buffer
(set-buffer-multibyte nil) ; ref debbugs.gnu.org/cgi/bugreport.cgi?bug=31427
(insert string)
(let ((tree (libxml-parse-html-region (point-min) (point-max))))
(thread-last tree
- (--tree-map (if (stringp it) (s-trim (s-collapse-whitespace it)) it))
+ (--tree-map (if (and (stringp it)
+ (not keep-whitespace))
+ (s-trim (s-collapse-whitespace it)) it))
(elquery--parse-libxml-tree nil)))))
```

My use case scenario is parsing a lyrics html page. With the current implementation and the whitespace stripped, the newlines are removed resulting in a big one-liner string. I'm left guessing where one line ends and another one begins.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.