requirements fixer output is similar to pip freeze
diff --git a/pre_commit_hooks/requirements_txt_fixer.py b/pre_commit_hooks/requirements_txt_fixer.py
index bf7f75d..c64b0a2 100644
--- a/pre_commit_hooks/requirements_txt_fixer.py
+++ b/pre_commit_hooks/requirements_txt_fixer.py
@@ -10,6 +10,19 @@
         self.value = None
         self.comments = []
 
+    @property
+    def name(self):
+        if self.value is None:
+            return
+
+        if self.value == b'\n':
+            return
+
+        if self.value.startswith(b'-e '):
+            return self.value.lower().partition(b'=')[-1]
+
+        return self.value.lower().partition(b'==')[0]
+
     def __lt__(self, requirement):
         # \n means top of file comment, so always return True,
         # otherwise just do a string comparison with value.
@@ -18,10 +31,7 @@
         elif requirement.value == b'\n':
             return False
         else:
-            return (
-                self.value.lower().partition(b'==') <
-                requirement.value.lower().partition(b'==')
-            )
+            return self.name < requirement.name
 
 
 def fix_requirements(f):