• Simen Heggestøyl's avatar
    Add support for retrieving paths to JSON elements · 29d740aa
    Simen Heggestøyl authored
    Add support for retrieving the path to a JSON element. This can for
    instance be useful to retrieve paths in deeply nested JSON
    structures.
    
    * lisp/json.el (json-pre-element-read-function)
    (json-post-element-read-function): New variables to hold pre- and post
    read callback functions for `json-read-array' and `json-read-object'.
    (json--path): New variable used internally by `json-path-to-position'.
    (json--record-path, json--check-position): New functions used
    internally by `json-path-to-position'.
    (json-path-to-position): New function for retrieving the path to a
    JSON element at a given position.
    (json-read-object, json-read-array): Call
    `json-pre-element-read-function' and `json-post-element-read-function'
    when set.
    
    * test/automated/json-tests.el (test-json-path-to-position-with-objects)
    (test-json-path-to-position-with-arrays)
    (test-json-path-to-position-no-match): New tests for
    `json-path-to-position'.
    29d740aa
json.el 23 KB