{"push_id":790315310,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"230e213d4506863d38fb5f746059b8549f050ba5","before":"b66103d076563488108c17b911654ad166c60d6a","commits":[{"sha":"8431e0de8393fd0ec2027167853ece57749a05ec","author":{"email":"2f2eda765b3bf18fb86627f973cc113f144d69d9@gmail.com","name":"Artur Malabarba"},"message":"New variable: clojure-get-indent-function\n\nThis variable provides a way of overriding the clojure-indent-function\nsymbol property on a buffer-local basis.","distinct":true,"url":"https://api.github.com/repos/Malabarba/clojure-mode/commits/8431e0de8393fd0ec2027167853ece57749a05ec"},{"sha":"584d1db4ccaeeedf03f220522c34f649ee455b68","author":{"email":"2f2eda765b3bf18fb86627f973cc113f144d69d9@gmail.com","name":"Artur Malabarba"},"message":"Rewrite the indent logic\n\nAn indent spec can be:\n- `nil` (or absent), meaning “indent like a regular function”.\n- A list/vector meaning that this function/macro takes a number of\n  “special” arguments which are indented by more spaces (in CIDER\n  that's 4 spaces), and then all other arguments are indented like a\n  body (in CIDER that's 2 spaces).\n  - The first element is a number indicating how many \"special\"\n    arguments this function/macro takes.\n  - Each following element is an indent spec on its own, and it\n    applies to the argument on the same position as this element. So,\n    when the argument is a form, it specifies how to indent that\n    argument internally (if it's not a form the spec is irrelevant).\n  - If the function/macro has more aguments than the list has\n    elements, the last element of the list applies to all remaining\n    arguments.\n\nSo, for instance, if I specify the `deftype` spec as `[2 nil nil fn]`\n(equivalent to `[2 nil nil [1]]`), it would be indented like this:\n\n```\n(deftype\n    ImageSelection\n    [data]\n  Transferable\n  (getTransferDataFlavors [this]\n    (some-function))\n  SomethingElse\n  (isDataFlavorSupported [this flavor]\n    (= imageFlavor flavor)))\n```\n(I put `ImageSelection` and `[data]` on their own lines just to show the indentation).\n\nAnother example, `reify` as `[1 nil fn]`\n```\n(reify Object\n  (toString [this]\n    (f)\n    asodkaodkap))\n```\n\nOr something more complicated, `letfn` as `[1 [fn] nil]`\n```\n(letfn [(twice [x]\n          (* x 2))\n        (six-times [y]\n          (* (twice y) 3))]\n  (println \"Twice 15 =\" (twice 15))\n  (println \"Six times 15 =\" (six-times 15)))\n```","distinct":true,"url":"https://api.github.com/repos/Malabarba/clojure-mode/commits/584d1db4ccaeeedf03f220522c34f649ee455b68"},{"sha":"230e213d4506863d38fb5f746059b8549f050ba5","author":{"email":"2f2eda765b3bf18fb86627f973cc113f144d69d9@gmail.com","name":"Artur Malabarba"},"message":"[Fix #296 Fix #296] Use custom-code to calculate normal-indent","distinct":true,"url":"https://api.github.com/repos/Malabarba/clojure-mode/commits/230e213d4506863d38fb5f746059b8549f050ba5"}]}