{"action":"opened","issue":{"url":"https://api.github.com/repos/ensime/ensime-atom/issues/65","labels_url":"https://api.github.com/repos/ensime/ensime-atom/issues/65/labels{/name}","comments_url":"https://api.github.com/repos/ensime/ensime-atom/issues/65/comments","events_url":"https://api.github.com/repos/ensime/ensime-atom/issues/65/events","html_url":"https://github.com/ensime/ensime-atom/issues/65","id":104648215,"number":65,"title":"Make implicits explicit","user":{"login":"hedefalk","id":116520,"avatar_url":"https://avatars.githubusercontent.com/u/116520?v=3","gravatar_id":"","url":"https://api.github.com/users/hedefalk","html_url":"https://github.com/hedefalk","followers_url":"https://api.github.com/users/hedefalk/followers","following_url":"https://api.github.com/users/hedefalk/following{/other_user}","gists_url":"https://api.github.com/users/hedefalk/gists{/gist_id}","starred_url":"https://api.github.com/users/hedefalk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hedefalk/subscriptions","organizations_url":"https://api.github.com/users/hedefalk/orgs","repos_url":"https://api.github.com/users/hedefalk/repos","events_url":"https://api.github.com/users/hedefalk/events{/privacy}","received_events_url":"https://api.github.com/users/hedefalk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-09-03T08:43:17Z","updated_at":"2015-09-03T08:43:17Z","closed_at":null,"body":"Making implicits explicits is _hard_. I want to be able to list the applied implicits and click \"make explicit\" and get a refactor for each one here so that the second row becomes the first.\r\n\r\n<img width=\"703\" alt=\"screen shot 2015-09-03 at 10 30 56\" src=\"https://cloud.githubusercontent.com/assets/116520/9654084/82a452de-5228-11e5-85ca-da584bf37a65.png\">\r\n\r\nProblems:\r\n* The param isn't even in scope so val test3 = strToCssBindPromoter(\"a\").#>(\"foo\")(stringTransform)doesn't compile\r\n* Need to add parenthesis when using two param groups.\r\n* Need to go to dot notation on #>. val test4 = strToCssBindPromoter(\"a\") #>(\"foo\")(net.liftweb.util.CanBind.stringTransform)doesn't compile.\r\n\r\n\r\nThis is the data:\r\n\r\n```\r\n{\r\n  \"typehint\": \"ImplicitInfos\",\r\n  \"infos\": [\r\n    {\r\n      \"params\": [\r\n        {\r\n          \"name\": \"stringTransform\",\r\n          \"localName\": \"stringTransform\",\r\n          \"declPos\": {\r\n            \"typehint\": \"OffsetSourcePosition\",\r\n            \"file\": \"/Users/viktor/dev/projects/ensime-test-project/.ensime_cache/dep-src/source-jars/net/liftweb/util/CssSel.scala\",\r\n            \"offset\": 22360\r\n          },\r\n          \"type\": {\r\n            \"name\": \"CanBind\",\r\n            \"fullName\": \"net.liftweb.util.CanBind\",\r\n            \"pos\": {\r\n              \"typehint\": \"OffsetSourcePosition\",\r\n              \"file\": \"/Users/viktor/dev/projects/ensime-test-project/.ensime_cache/dep-src/source-jars/net/liftweb/util/CssSel.scala\",\r\n              \"offset\": 22262\r\n            },\r\n            \"typehint\": \"BasicTypeInfo\",\r\n            \"typeId\": 45,\r\n            \"typeArgs\": [\r\n              {\r\n                \"name\": \"String\",\r\n                \"fullName\": \"java.lang.String\",\r\n                \"typehint\": \"BasicTypeInfo\",\r\n                \"typeId\": 46,\r\n                \"typeArgs\": [],\r\n                \"members\": [],\r\n                \"declAs\": {\r\n                  \"typehint\": \"Class\"\r\n                }\r\n              }\r\n            ],\r\n            \"members\": [],\r\n            \"declAs\": {\r\n              \"typehint\": \"Trait\"\r\n            }\r\n          },\r\n          \"isCallable\": false,\r\n          \"ownerTypeId\": 47\r\n        }\r\n      ],\r\n      \"typehint\": \"ImplicitParamInfo\",\r\n      \"fun\": {\r\n        \"name\": \"#>\",\r\n        \"localName\": \"#>\",\r\n        \"declPos\": {\r\n          \"typehint\": \"OffsetSourcePosition\",\r\n          \"file\": \"/Users/viktor/dev/projects/ensime-test-project/.ensime_cache/dep-src/source-jars/net/liftweb/util/CssSel.scala\",\r\n          \"offset\": 29237\r\n        },\r\n        \"type\": {\r\n          \"resultType\": {\r\n            \"name\": \"CssSel\",\r\n            \"fullName\": \"net.liftweb.util.CssSel\",\r\n            \"typehint\": \"BasicTypeInfo\",\r\n            \"typeId\": 1,\r\n            \"typeArgs\": [],\r\n            \"members\": [],\r\n            \"declAs\": {\r\n              \"typehint\": \"Trait\"\r\n            }\r\n          },\r\n          \"name\": \"[T](it: => T)(implicit computer: net.liftweb.util.CanBind[T])net.liftweb.util.CssSel\",\r\n          \"paramSections\": [\r\n            {\r\n              \"params\": [\r\n                [\r\n                  \"it\",\r\n                  {\r\n                    \"name\": \"<byname>\",\r\n                    \"fullName\": \"scala.<byname>\",\r\n                    \"typehint\": \"BasicTypeInfo\",\r\n                    \"typeId\": 5810,\r\n                    \"typeArgs\": [\r\n                      {\r\n                        \"name\": \"T\",\r\n                        \"fullName\": \"net.liftweb.util.T\",\r\n                        \"typehint\": \"BasicTypeInfo\",\r\n                        \"typeId\": 5811,\r\n                        \"typeArgs\": [],\r\n                        \"members\": [],\r\n                        \"declAs\": {\r\n                          \"typehint\": \"Nil\"\r\n                        }\r\n                      }\r\n                    ],\r\n                    \"members\": [],\r\n                    \"declAs\": {\r\n                      \"typehint\": \"Class\"\r\n                    }\r\n                  }\r\n                ]\r\n              ],\r\n              \"isImplicit\": false\r\n            },\r\n            {\r\n              \"params\": [\r\n                [\r\n                  \"computer\",\r\n                  {\r\n                    \"name\": \"CanBind\",\r\n                    \"fullName\": \"net.liftweb.util.CanBind\",\r\n                    \"typehint\": \"BasicTypeInfo\",\r\n                    \"typeId\": 5812,\r\n                    \"typeArgs\": [\r\n                      {\r\n                        \"name\": \"T\",\r\n                        \"fullName\": \"net.liftweb.util.T\",\r\n                        \"typehint\": \"BasicTypeInfo\",\r\n                        \"typeId\": 5811,\r\n                        \"typeArgs\": [],\r\n                        \"members\": [],\r\n                        \"declAs\": {\r\n                          \"typehint\": \"Nil\"\r\n                        }\r\n                      }\r\n                    ],\r\n                    \"members\": [],\r\n                    \"declAs\": {\r\n                      \"typehint\": \"Trait\"\r\n                    }\r\n                  }\r\n                ]\r\n              ],\r\n              \"isImplicit\": true\r\n            }\r\n          ],\r\n          \"typehint\": \"ArrowTypeInfo\",\r\n          \"typeId\": 5813\r\n        },\r\n        \"isCallable\": true,\r\n        \"ownerTypeId\": 44\r\n      },\r\n      \"funIsImplicit\": false,\r\n      \"end\": 166,\r\n      \"start\": 154\r\n    },\r\n    {\r\n      \"typehint\": \"ImplicitConversionInfo\",\r\n      \"start\": 154,\r\n      \"end\": 157,\r\n      \"fun\": {\r\n        \"name\": \"strToCssBindPromoter\",\r\n        \"localName\": \"strToCssBindPromoter\",\r\n        \"declPos\": {\r\n          \"typehint\": \"OffsetSourcePosition\",\r\n          \"file\": \"/Users/viktor/dev/projects/ensime-test-project/.ensime_cache/dep-src/source-jars/net/liftweb/util/BindHelpers.scala\",\r\n          \"offset\": 47948\r\n        },\r\n        \"type\": {\r\n          \"resultType\": {\r\n            \"name\": \"ToCssBindPromoter\",\r\n            \"fullName\": \"net.liftweb.util.ToCssBindPromoter\",\r\n            \"typehint\": \"BasicTypeInfo\",\r\n            \"typeId\": 44,\r\n            \"typeArgs\": [],\r\n            \"members\": [],\r\n            \"declAs\": {\r\n              \"typehint\": \"Class\"\r\n            }\r\n          },\r\n          \"name\": \"(str: String)net.liftweb.util.ToCssBindPromoter\",\r\n          \"paramSections\": [\r\n            {\r\n              \"params\": [\r\n                [\r\n                  \"str\",\r\n                  {\r\n                    \"name\": \"String\",\r\n                    \"fullName\": \"java.lang.String\",\r\n                    \"typehint\": \"BasicTypeInfo\",\r\n                    \"typeId\": 46,\r\n                    \"typeArgs\": [],\r\n                    \"members\": [],\r\n                    \"declAs\": {\r\n                      \"typehint\": \"Class\"\r\n                    }\r\n                  }\r\n                ]\r\n              ],\r\n              \"isImplicit\": false\r\n            }\r\n          ],\r\n          \"typehint\": \"ArrowTypeInfo\",\r\n          \"typeId\": 1886\r\n        },\r\n        \"isCallable\": true,\r\n        \"ownerTypeId\": 49\r\n      }\r\n    }\r\n  ]\r\n}\r\n```\r\n"}}